Wpf 如何在xaml和.cs文件中的TabControl中绑定ListView
我创建了一个TabControl,其中有一个ListView。我正在尝试为同一窗口绑定在.cs文件中创建的列表,但绑定时该列表没有反映在xaml文件中 我尝试创建一个名为“列表视图”的选项卡,并绑定在.cs文件中创建的ListViewItems 我还尝试将文本绑定到textblock中,但它没有反映 代码隐藏Wpf 如何在xaml和.cs文件中的TabControl中绑定ListView,wpf,xaml,Wpf,Xaml,我创建了一个TabControl,其中有一个ListView。我正在尝试为同一窗口绑定在.cs文件中创建的列表,但绑定时该列表没有反映在xaml文件中 我尝试创建一个名为“列表视图”的选项卡,并绑定在.cs文件中创建的ListViewItems 我还尝试将文本绑定到textblock中,但它没有反映 代码隐藏 namespace Shweta { /// <summary> /// Interaction logic for Window5.xaml ////
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"
};
}
}
}
}
名称空间Shweta
{
///
///Window5.xaml的交互逻辑
/////
公共部分类窗口5:窗口
{
公共窗口5()
{
初始化组件();
}
}
公共类集合视图模型
{
公共列表ListViewItems
{
得到
{
返回新列表
{
“名字”,
“第二个名字”,
“第三个名字”
};
}
}
}
}
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>
如果使用视图模型对象设置了
DataContext
,则视图模型的绑定将起作用:
public Window5()
{
InitializeComponent();
this.DataContext = new CollectionViewModel();
}
你需要设置DataContextYes当然可以,你能告诉我怎么做吗?@shweta,这在(我建议你看一下)中有解释:在分数计数器下答案的左侧应该有一个复选标记:)当不活动时它是灰色的,当选中时它是绿色的