我正在研究WPF,对XAML自定义创建的控件知之甚少。 我有一个自定义控件名称'DualButton'如下:
<Controls:DualButton x:Name="StandardConferenceCancelButton"
Width="90"
Height="25"
Margin="2"
LeftButtonCommand="{Binding StandardModeConnectCommand}"
RightButtonCommand="{Binding ConferenceCancelCommand}"
>
<AccessText HorizontalAlignment="Center" Text="{x:Static I18N:TelephonyRegionViewRes.Standard}" />
</Controls:DualButton>
它的2个依赖属性'LeftButtonCommand'和'RightButtonCommand'绑定两个不同的ICommands。 我想将此按钮的可见性设置为LeftButtonCommand的CanExecute,以便当LeftButtonCommandCanExecute()返回true时,该时间仅按钮变为可见。 我使用了dependancyProperty'IsEnabled',我还需要做些什么呢
答案 0 :(得分:1)
我知道现在已经很晚了,但可能会帮助别人......
在DataContext中,创建一个返回
的IsVisible
属性
StandardModeConnectCommand.CanExecute()
在您的窗口或用户控件中,添加资源
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</Window.Resources>
在双重按钮中,在命令之后或之前,添加:
Visibility="{Binding IsVisible, Converter={StaticResource BooleanToVisibilityConverter}}"
最后,在CanEecute的返回值可能发生变化的地方,添加datacontext a
NotifyPropertyChanged(nameof(IsVIsible));
你应该跟这个有关。