我正试图将我的列表绑定到一个列表框中。Listbox绑定正在工作,但我无法将属性绑定到项模板。
这是我的班
public class handle{
public string smurfName;
internal Process process;
public handle(Process _pro, string _smuf)
{
process = _pro;
smurfName = _smuf;
}
}这是我的窗口构造函数。
public static ObservableCollection<handle> smurfList = new ObservableCollection<handle>();
public GameMask()
{
InitializeComponent();
runningSmurfs.ItemsSource = smurfList;
handle newSmurf = new handle(null, "THISNAME");
smurfList.Add(newSmurf);
}这是我的xaml
<ListBox HorizontalAlignment="Left" Height="200" Margin="3,41,0,0" VerticalAlignment="Top" Width="113" Name="runningSmurfs">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=smurfName}"></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>不幸的是,我无法在列表上看到"THISNAME“,但是如果我更改文本绑定到文本,它是工作良好的。
谢谢你的帮助。
发布于 2015-10-30 17:36:41
在您的例子中,我认为您不需要实现INotifyPropertyChanged,但是您不能绑定到您想要做的字段
试试这个:
public string SmurfName { get; set; }和修改xaml绑定到SmurfName
发布于 2015-10-30 17:33:39
您至少需要一个属性,这样您的绑定才能工作。smurfName应该是一个属性,最好也实现INotifyPropertyChanged。
发布于 2015-10-30 18:07:43
在句柄类中,向smurfName属性添加一个getter和setter:
public string smurfName { get; set; }https://stackoverflow.com/questions/33441068
复制相似问题