這是非常簡單的東西,只需要一些.NET框架的基本知識..我希望這可以幫助你。我剛剛在Data usercontrol中創建了一個自定義事件,它將冒泡行事件。
數據用戶控件代碼:
public partial class Data : UserControl
{
private event EventHandler _RowSelectionChanged;
public event EventHandler RowSelectionChanged
{
add { _RowSelectionChanged += value; }
remove { _RowSelectionChanged -= value; }
}
private void RaiseSelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (_RowSelectionChanged != null)
_RowSelectionChanged(sender, e);
}
public Data()
{
InitializeComponent();
}
private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
RaiseSelectionChanged(sender, e);
}
}
歡迎用戶控件代碼:
public partial class Welcome : UserControl
{
public Welcome()
{
InitializeComponent();
}
public string ClientName
{
get
{
return txtClientName.Text;
}
set
{
txtClientName.Text = value;
}
}
}
主窗口類:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
ucData.RowSelectionChanged += new EventHandler(ucData_RowSelectionChanged);
}
void ucData_RowSelectionChanged(object sender, EventArgs e)
{
var ev = e as SelectionChangedEventArgs;
var grid = sender as DataGrid;
ucWelcome.ClientName = "any thing";
//this is how you can change Welcome UserControl
}
}
問候。
您可以在數據用戶控件中創建自定義事件。並訂閱其歡迎用戶控制需要對其執行操作的事件。 – 2012-01-09 05:23:59
在每一行上單擊數據網格中的文本框(在歡迎用戶控件中)的值必須更改,我與此混淆請任何人都可以提供示例代碼 – Honey 2012-01-09 12:23:45