[英]xaml databinding in c#
我很確定基於我正在模仿的示例代碼看起來正確,但是運行程序時組合框為空。 我在這里做錯了什么?
xaml:
<ComboBox Grid.Column="1" Width="200" Height="20"
x:Name="cBox"
ItemsSource="{Binding DummyClassCollection}"
DisplayMemberPath="DisplayValue" />
背后的代碼:
public partial class PlayerPromptPage : Page
{
public PlayerPromptPage()
{
InitializeComponent();
}
public ObservableCollection<DummyClass> DummyClassCollection {
get {
return new ObservableCollection<DummyClass>
{
new DummyClass{DisplayValue = "Item1", Value = 1},
new DummyClass{DisplayValue = "Item3", Value = 3},
new DummyClass{DisplayValue = "Item2", Value = 2},
new DummyClass{DisplayValue = "Item4", Value = 4},
};
}
}
}
public class DummyClass
{
public int Value { get; set; }
public string DisplayValue { get; set; }
}
您需要為頁面設置DataContext
。
這可以在構造函數中輕松完成:
public PlayerPromptPage()
{
InitializeComponent();
DataContext = this;
}
另外,您可以在XAML中設置DataContext
:
<Window
...
DataContext="{Binding RelativeSource={RelativeSource Self}}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.