0

我正在研究 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”绑定了两个不同的 ICommand。我想将此按钮的可见性设置为 LeftButtonCommand 的 CanExecute,以便当 LeftButtonCommandCanExecute() 返回 true 时,只有按钮可见。我采取了dependancyProperty'IsEnabled'我需要做的进一步

4

1 回答 1

1

我知道它已经晚了,但可能会帮助别人......

  1. 在您的 DataContext 中,创建一个IsVisible返回的属性

    StandardModeConnectCommand.CanExecute()
    
  2. 在您的窗口或用户控件中,添加资源

      <Window.Resources>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
      </Window.Resources>
    
  3. 在您的双按钮中,在命令之后或之前,添加:

       Visibility="{Binding IsVisible, Converter={StaticResource BooleanToVisibilityConverter}}"
    
  4. 最后,在 CanEecute 的返回值可能发生变化的地方,在你的 datacontext 中添加一个

    NotifyPropertyChanged(nameof(IsVIsible));
    

你应该在这方面走上正轨。

于 2016-11-18T17:18:41.357 回答