我正在使用 MVVM 模式开发 WPF 应用程序,我有一个组合框,其中 itemssource 与 viewmodel 绑定(bind),我想在组合框中有一个默认选项,如“--Select user--”,最好的方法是什么。
这是我的 XAML 代码:
<ComboBox Grid.Column="1" HorizontalAlignment="Left" Margin="5.2,8.2,0,7.8" Grid.Row="5" Width="340" ItemsSource="{Binding Path=Users}" IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding SelectedUser}" Grid.ColumnSpan="2">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1}">
<Binding Path="FirstName"/>
<Binding Path="LastName"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
最佳答案
那么另一种方法可以是有一个触发器并让组合框项保持原样
<Grid>
<ComboBox x:Name="mycombo" ItemsSource="{Binding}"/>
<TextBlock Text="-- Select User --" IsHitTestVisible="False" Visibility="Hidden">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=mycombo,Path=SelectedItem}" Value="{x:Null}">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
或者,如果您有能力将组合框的外观更改为可编辑的组合框,您可以这样做——
<ComboBox IsEditable="True" IsReadOnly="True" Text="-- Select User --" />
关于c# - 如何添加默认组合框 "--Select user--",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29961274/