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」は、2つの異なる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の戻り値が変更される可能性が高い場所で、データコンテキストにaを追加します。

    NotifyPropertyChanged(nameof(IsVIsible));
    

これで順調に進んでいるはずです。

于 2016-11-18T17:18:41.357 に答える