winform で wpf コントロール (グリッドビュー) をホストしようとしています。
私は elementHost を使用して、winform に wpf コントロールを作成しています。
wpf コントロールに行を追加するときはいつでもイベントを作成するにはどうすればよいですか?
winform で wpf コントロール (グリッドビュー) をホストしようとしています。
私は elementHost を使用して、winform に wpf コントロールを作成しています。
wpf コントロールに行を追加するときはいつでもイベントを作成するにはどうすればよいですか?
グリッドビューをユーザー コントロールにラップし、ユーザー コントロールでイベントを処理します。wpf コントロールをホストしている場合、一部のイベントが呼び出されないことに注意してください。
Winforms で WPF コントロールのイベントをサブスクライブする方法は、他のイベントと同じです。WPF コントロール インスタンスを取得し、コードを次のように使用するだけです。
wpfbutton1.Click += new RoutedEventHandler(wpfbutton1_Click);
void wpfbutton1_Click(object sender, RoutedEventArgs e)
{
throw new NotImplementedException();
}
サンプルコード:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ElementHost host = new ElementHost() { Dock = DockStyle.Fill };
this.Controls.Add(host);
System.Windows.Controls.Button wpfButton =
new System.Windows.Controls.Button() { Content = "WPF Button" };
host.Child = wpfButton;
wpfButton.Click += new System.Windows.RoutedEventHandler(wpfButton_Click);
}
void wpfButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
MessageBox.Show("Button is clicked");
}
}