- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 WPF,并希望有一个类似于 LinkedList 的集合,我可以在其中添加和删除字符串。我希望有一个 ListView
来监听该集合的数据绑定(bind)。如何将简单列表集合绑定(bind)到 XAML 中的 ListView
?
我的想法(不工作)是这样的:
<Window x:Class="TestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<LinkedList x:Key="myList"></LinkedList> //Wrong
<Window.Resources>
<Grid>
<ListView Height="100" HorizontalAlignment="Left" Margin="88,134,0,0"
Name="listView1" VerticalAlignment="Top" Width="120"
ItemsSource="{Binding Source={StaticResource myList}}"/> //Wrong
</Grid>
</Window>
我所有的代码(更新版本,不工作):
<Window x:Class="TestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBox Height="23" HorizontalAlignment="Left" Margin="12,12,0,0"
Name="textBox1" VerticalAlignment="Top" Width="120" />
<Button Content="Button" Height="23" HorizontalAlignment="Right"
Margin="0,12,290,0" Name="button1" VerticalAlignment="Top" Width="75"
Click="button1_Click" />
<ListView Height="100" HorizontalAlignment="Left" Margin="88,134,0,0"
Name="listView1" VerticalAlignment="Top" Width="120"
ItemsSource="{Binding myList}"/>
</Grid>
</Window>
C#-代码:
namespace TestApp
{
public partial class MainWindow : Window
{
ObservableCollection<string> myList = new ObservableCollection<string>();
public MainWindow()
{
InitializeComponent();
myList.Add("first string");
}
private void button1_Click(object sender, RoutedEventArgs e)
{
myList.Add(textBox1.Text);
textBox1.Text = myList.Count+"st";
}
}
}
最佳答案
选择作为答案的方法效果很好......但我不特别喜欢在 XAML 中设置其他所有内容时以编程方式指定 DataContext
,我不觉得它是“正确的” “(也许这只是我)。因此,对于下一个人,或者任何像我一样思考并在搜索引擎中找到它的人(就像我一样),这是在 XAML 中执行此操作的方法:
C#
public sealed partial class MainPage : Page
{
public ObservableCollection<string> Messages { get; set; }
public MainPage()
{
this.Messages = new ObservableCollection<string>();
this.InitializeComponent();
}
}
XAML
<Window
....
DataContext="{Binding RelativeSource={RelativeSource Self}}"
...>
<ListView ItemsSource="{Binding Messages}" ... />
</Window>
老实说,我认为 {Binding RelativeSource={RelativeSource Self}}
应该是任何顶级元素(Page
、Window
)的默认值>,等等...) DataConext
因为这只是很多人期望它工作的方式,我知道这是我认为它会工作的方式。老实说,我觉得 {Binding RelativeSource={RelativeSource Self}}
有点冗长,对于较短的语法来说几乎很长。
关于wpf - 如何将 List 作为 ItemSource 绑定(bind)到 XAML 中的 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3039628/
我有一个包含一些按钮和一个 ListView 的用户控件。 我希望我的自定义控件具有 ItemsSource直接绑定(bind)到 ListView 项目源的属性。 MyControl.xaml.cs
当从 Powershell 以编程方式将 WPF Combobox 的 ItemSource 设置为 DataRowCollection 时,只有一个条目,我收到此错误消息: Ausnahme bei
在 WPF 的 datagridview 中只显示列名但不显示行。我试过将 autogeneratecolumns="true" 放在 datagridview 中,但没有成功。我已经调试并检查了数据
在我的 ViewModel 上,我有 2 个属性(都实现了属性更改通知): CountryOfIssue Nationality 在我的 View 中,我有一个 CollectionViewSourc
我有一个 Roles 的列表我想在 DataGrid 中选择细胞 ComboBox . 我有 ObservableCollection Roles对于ComboBox在 ViewModel 中填充。
我正在使用 ItemsControl在 ItemContainerTemplate 中有一个对象列表...我还有一个 DataTemplate .里面DataTemplate我无法绑定(bind)到
当在文本框中键入并单击“添加员工”时,我希望它更新并显示到数据网格,我已经实现了 INotifyPropertyChanged 和 RelayCommand。我错过了什么没有填充数据。提前致谢这是我的
我的第一个 StackExchange 问题,如果我做错了什么,请告诉我。 我正在将旧的 winforms 代码转换为 WPF,并且一直在使用它们。我大部分时间都取得了成功,但我正在处理我的第一个涉及
我正在尝试将我的应用程序转换为 MVVM 架构,但我遇到了 itemsource 问题。没有可用的命令属性。 我应该如何将 itemtapped 和 Menuitem clicked 转换为 MVVM
在我的类(class) ResultEntity 中,如果我这样做: _resultMulti = new List(); 我看到以下错误消息: "Exception: Items collectio
这是我的情况: 存在一个 ObservableCollection 并且窗口中的一系列列表框显示了它们的绑定(bind)数据。 public Records myRecents; //... this
我有一个组合框,数据动态分配如下 我正在从数据库加载客户详细信息并将它们设置为列表框并分配给组合框,如下所示。 clientbox.DataContext = 运行后我可以在组合框中看到数据。这将
我有异常(exception): 使用 ItemsSource 时操作无效。改为使用 ItemsControl.ItemsSource 访问和修改元素。 最佳答案 您必须将项目添加到设置为 Items
在我的Xamarin.Forms应用程序中,我有一个简单的Contact类[Model]。在UI [ View ]中,存在一个显示联系人的ListView。在模型 View 类中,我有一个联系人列表(
我在带有 TreeView 的 Silverlight 4 应用程序中有一个 ChildWindow。 ItemSource 绑定(bind)到 ViewModel 中项目的 ObservableCo
我正在开发一个从 Web 服务获取数据并显示它的 Windows Phone 8 应用程序。 我有一个绑定(bind)到 LongListSelector 的通知列表,当用户滚动到末尾时,我想在其中显
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: What is a NullReferenceException in .NET? 我有两个 ComboBo
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: What is a NullReferenceException in .NET? 我有两个 ComboBo
我目前正在使用 Xamarin Forms,我正在使用从 github RESTAPI 获得的 post 方法.每当我尝试将数据应用到我的 ListView ItemsSource 时,我的应用程序就
在我使用 this.ProductList.ItemSource = null;: 清除数据网格后,此语句将给我 null 异常 salesItem = (from SalesItem item
我是一名优秀的程序员,十分优秀!