我创建了一个TabControl并且有一个ListView。我试图将.cs文件中创建的列表绑定到同一窗口,但是绑定时列表没有反映到xaml文件中。
我尝试创建一个名为“列表视图”的选项卡,并绑定在.cs文件中创建的ListViewItems。
我还试图绑定文本块中的文本,但它没有反映出来。
代码隐藏
namespace Shweta
{
/// <summary>
/// Interaction logic for Window5.xaml
///// </summary>
public partial class Window5 : Window
{
public Window5()
{
InitializeComponent();
}
}
public class CollectionViewModel
{
public List<string> ListViewItems
{
get
{
return new List<string>
{
"First name",
"Second name",
"Third name"
};
}
}
}
}
Xaml标记
<Window x:Class="Shweta.Window5"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window5" Height="300" Width="300">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40*" />
<ColumnDefinition Width="238*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="47*" />
<RowDefinition Height="214*" />
</Grid.RowDefinitions>
<Grid Grid.Column="1" Grid.Row="1">
<TabControl>
<TabItem Header="List View">
<ListView ItemsSource="{Binding ListViewItems}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<Border Background="LightBlue" Padding="3"/>
<TextBlock Text="{Binding}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</TabItem>
</TabControl>
</Grid>
</Grid>
</Window>
答案 0 :(得分:0)
如果使用视图模型对象设置DataContext
,则视图模型的绑定将起作用:
public Window5()
{
InitializeComponent();
this.DataContext = new CollectionViewModel();
}