嘿,我需要訪問我在WPF中創建的列表框中的項目。我現在所擁有的是用戶可以添加一個新的類對象到ListBox.ItemsSource綁定到的ObservableCollection。這個類有數據在那裏的數據用於像組合框,文本框和其他簡單的東西。訪問列表框中的數據
我所做確實是基於關閉的嘖嘖影像的一個從windowsclient.net
//Here's What I have so far
<ListBox x:Name="MyList" Width = "300" Height = 300">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBlock x:Name="ItemName"
Text={Binding Path=PersonName}/>
<ComboBox x:Name="NumberOfRes"
SelectedIndex="0"
SelectionChanged="NumberOfRes_SelectionChanged"
ItemsSource={Binding Path=ListOfNums}/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
//ListOfNums
private ObservableCollection<int> _listofNums =
new ObservableCollection<int>()
{ 1,2,3,4,5,6,7,8 };
public ObservableCollection<int> ListOfNums
{
get{return _listOfNums;}
}
//class Resident
public class Resident
{
public string personName {get;set;}
}
所以我有工作。我有一個按鈕添加一個新的類對象,每個對象都通過數據綁定正確地設置了數據。所以我可以看到我的默認personName當一個新的對象被添加,並且我有一個組合框填充ListOfNums整數。
雖然我的知識是我不知道如何訪問這些'子對象'(原諒我,我是新來的WPF,不知道適當的術語)正在選擇。我想知道在發生selectionChange事件時我的comboBox的SelectedItem是什麼,或者當用戶在textBox中鍵入內容時我的新personName設置爲什麼。因此,用戶在列表框中選擇這些ItemTemplate對象中的一個,並且該項目具有用戶單擊的組合框和其他UI控件。當用戶點擊其中一個UI控件時,一些數據會發生變化。
我試過((Resident)MyList.SelectedItem).personName
和其他幾個方法來查看我是否可以訪問數據並操作它。現在有趣的是,我的ItemTemplate中的組合框有一個選擇更改事件,當選擇被更改時調用,但我無法訪問數據!
在此先感謝!
沒有它。我有一個從它繼承的ViewModelBase類,並感謝您的快速回復。 – CSMHowitzer