我有ComboBox
有两个值,自定义控件作为菜单的一部分。如果ComboBox
更改其值,是否可以在运行时将此控件更改为另一个(简单按钮)?
有样品吗?
我的想法只是隐藏不需要的控件,例如Visibility
或Height
/ Width
= 0.
答案 0 :(得分:0)
ComboBox的可见性通常可以使用BooleanToVisibilityConverter在运行时设置。
例如,假设您的组合框绑定到产品列表。如果没有产品,您可以隐藏组合框。
public class SampleViewModel : INotifyPropertyChanged
{
public event EventHandler<PropertyChangedEventArgs> PropertyChanged;
public IEnumerable<Product> Products { get; set; }
public bool ShowProducts { get { return Products.Any(); } }
}
您可以将BooleanToVisibilityConverter添加到Window的资源中,然后绑定到它。
<Window xmlns:local="clr-namespace:WpfApplication1">
<Window.DataContext>
<local:SampleViewModel />
</Window.DataContext>
<Window.Resources>
<local:BooleanToVisibilityConverter x:Name="BooleanToVisibilityConverter" />
</Window.Resources>
<ComboBox ItemsSource="{Binding Products}"
Visibility="{Binding ShowProducts, Converter={StaticResource BooleanToVisibilityConverter}}" />
</Window>