Я использую RadGridView
, который имеет 11 строк и много столбцов, i показывает только 2 столбца, которые являются именем и типом. Я создаю для строк строки ContextMenu
и открою новое окно, если я нажму. Скажем, у меня есть 3 разных значений в columnType
которых являются А, В, С и у меня есть для ContextMenu
как это событие нажмите:C# WPF - передать значение из события click в другой файл класса
public void GridContextMenu_ItemClick(object sender, Telerik.Windows.RadRoutedEventArgs e)
{
MenuItem item = (e.OriginalSource as RadMenuItem).DataContext as MenuItem;
typeValue = (GridView.SelectedItem).columnType;
switch (item.Text)
{
case "Edit]":
if (typeValue == "A")
{
selectedItem = GridView.SelectedItem;
editA.Show();
this.Close();
break;
}
else if (typeValue == "B")
{
selectedItem = GridView.SelectedItem;
editB.Show();
this.Close();
break;
}
else if (typeValue == "C")
{
selectedItem = GridView.SelectedItem;
editC.Show();
this.Close();
break;
}
break;
case "Delete":
this.GridView.Items.Remove(this.GridView.SelectedItem);
break;
}
}
Так что я могу получить как selectedItem.columnType
или selectedItem.column3
. Но проблема в том, что я не знаю, как передать значения selectedItem
только что открытому окну? Я попробовал статический класс { get;set; }
для selectedItem
, но когда я попытался вызвать его из нового окна, значения все равно null.
Передайте значение SelectedItem в конструкторе этого окна. Вы должны создать его с помощью нового Window2(). – AnjumSKhan