15

私は WPF アプリケーションを開発しており、コマンド バインディングを使用してクリックしたときにコマンドをトリガーしたい TextBlock を持っています。これを達成するための最良の方法は何ですか?

  • TextBlock-control には Command プロパティはありませんが、CommandManager はあります。これは何ですか?コマンドバインディングに使用できますか? このプロパティで他の多くのコントロールも見てきました..

  • 私が監視した使用可能なコントロールはありますか? たとえば、ボタンを使用して、ボタンのように見えないようにスタイルを設定することをお勧めしますか?

  • TextBlock をラップできる Command バインディングをサポートするコントロールはありますか?

  • 基本的に TextBlock であるカスタム コントロールを作成する必要がありますが、追加のプロパティ Command および CommandArgument を使用して、たとえば MouseLeftButtonDown プロパティでコマンド バインディングを有効にする必要があります。

4

3 に答える 3

17

私が監視した使用可能なコントロールはありますか? たとえば、ボタンを使用して、ボタンのように見えないようにスタイルを設定することをお勧めしますか?

はい。最も簡単な方法は、TextBlock のように機能するようにボタンを再テンプレート化し、ボタン クラスのコマンド プロパティを利用することです。

このようなもの:

<ControlTemplate TargetType="Button">
        <TextBlock Text="{TemplateBinding Content}" />
    </ControlTemplate>
...
<Button Content="Foo" Command="{Binding Bar}" />
于 2009-11-24T16:57:32.243 に答える
0
<Window.Resources>
<CommandBinding x:Key="binding" Command="ApplicationCommands.Save" Executed="SaveCommand" CanExecute="SaveCommand_CanExecute" />
</Window.Resources>


<TextBox Margin="5" Grid.Row="2" TextWrapping="Wrap" AcceptsReturn="True" TextChanged="txt_TextChanged">
<TextBox.CommandBindings>
<StaticResource ResourceKey="binding"></StaticResource>
</TextBox.CommandBindings>
</TextBox>

http://www.java2s.com/Tutorial/CSharp/0470__Windows-Presentation-Foundation/BindTextBoxsavecommandtoCommandBinding.htmを見ましたか

于 2012-08-02T23:21:49.123 に答える