1

どうすればRibbonButtonにテキストをプログラムで設定できますか?現在、以下のコードがありますが、ボタンに「参照」が表示されません。助言がありますか?

RibbonButton btn = new RibbonButton();
btn.Name = "btnBrowse";
btn.Content = "Browse";
btn.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
btn.Click += new RoutedEventHandler(btn_Click);
4

2 に答える 2

4

RibbonControlsLibraryのRibbonButtonは、標準のWPFボタンとは動作が異なり、テキストを表示するためのコマンドが必要です。このコマンドでは、画像やツールのヒントなどの他のアイテムも割り当てます。

var cmd = new RibbonCommand();
cmd.LabelTitle = "Browse";
cmd.CanExecute += ( sender, args ) => args.CanExecute = true;
cmd.Executed +=new ExecutedRoutedEventHandler(cmd_Executed);

var btn = new RibbonButton();
btn.Command = cmd;

MyRibbonGroup.Controls.Add( btn );

CanExecuteにtrueを割り当てる必要があります。そうしないと、コマンド/ボタンが常に無効になります。CanExecuteメソッドでは、ビジネスロジックでコマンド/ボタンを無効または有効にすることもできます。

于 2010-04-01T17:43:47.963 に答える
1

WPFボタンは、WPFの他のほとんどすべてと同様のコンテナーです。TextBlockを作成し、ボタンのコンテンツとして設定します。

RibbonButton btn = new RibbonButton(); 
btn.Name = "btnBrowse"; 
TextBlock btnText = new TextBlock();
btnText.Text = "Browse";
btn.Content = btnText; 
btn.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; 
btn.Click += new RoutedEventHandler(btn_Click);

そうは言っても、XAMLでUIを構築することを検討することを強くお勧めします。実行時にテキストが変更される場合は、ボタンのテキストをデータバインドします。

于 2010-04-01T15:04:25.367 に答える