我試圖在WPF程序中實現自定義搜索對話框。父窗口是綁定到Observable集合的ListView。從子窗口調用父窗口中的函數
我做了與搜索形成一個新的窗口,它是像這樣初始化:
searchForm sf = new searchForm(_QPCollection);
sf.Owner = this;
sf.Show();
,我有這個功能,我想打電話(在所有者窗口):
public void selectIndex(int index)
{
ListViewItem toSelect = listView1.Items[index] as ListViewItem;
toSelect.Focus();
}
然後在子窗口(searchForm)試圖調用selectIndex像這樣:
public void SearchJob_Click(object sender, RoutedEventArgs e)
{
if (sJob.Text == "" || sJob.Text == null) { return; }
for (int i = findCount; i < _QPCollectionSearch.Count; i++)
{
if (i == _QPCollectionSearch.Count - 1) { i = 0; }
if (_QPCollectionSearch[i].jobNumAndFlow.IndexOf(sJob.Text) > -1)
{
findCount = i;
Owner.selectIndex(i);
}
}
}
我得到的ER ror:System.Windows.Window不包含「selectIndex」的定義。
_QPCollection
是搜索將循環瀏覽的集合。我有搜索邏輯工作,但我似乎無法在父窗口中ListView的索引Focus()
。
我的第一個想法是有一個公共職能,我可以通過索引,它會做的重點,但我似乎無法找到一種方法來調用父窗口中的子窗口的功能。
我接近這完全錯了嗎?這個answer似乎是用於WinForms,但我確定有一種方法可以訪問WPF中的父窗口及其公共函數/屬性。
我更增添了幾分代碼和錯誤信息,這引起了 - 它不具有法的定義() 。 – WSkid 2011-01-12 21:30:03
您是否投出或解除了所有者窗口的權利?我忘了添加最初.... – 2011-01-12 21:33:21