WPF如何将TabItem的绑定列表

我有以下问题:

我在我的应用程序中加载一些数据,需要被放在一个标签控件。

该数据的格式为:

class objectType1 { string property_1; string prorerty_2; } class mainObject { string mainProperty_1; string mainProperty_2; List<objectType1> objectsList; }

和所有的数据在类型的对象加载

List<mainObject> myListofObjects

到目前为止,我设法相对于myListofObjects项目创建的TabItems现在我需要包含在每个objectsList将数据添加到它们各自的(也就是说,如果列表中有5个对象,5个选项卡包含的信息mainProperty_1和mainProperty_2头创建)标签...

所述mainProperty_1代表图像,其中必须加载...

<TabControl x:Name="_DataList" Margin="10"> <!-- Header --> <TabControl.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Image Height="18" Source="{Binding mainProperty_1/> <TextBlock Text="{Binding mainProperty_2}" Margin="2,0,0,0" /> </StackPanel> </DataTemplate> </TabControl.ItemTemplate> <!-- Content --> <TabControl.ContentTemplate> <DataTemplate x:Name="objectDataTemplate"> <Grid Margin="5"> <StackPanel Orientation="Horizontal"> <Image Source="{Binding property_1}" ToolTip="{Binding property_2}" IsHitTestVisible="false" Stretch="Uniform"/> </StackPanel> </Grid> </DataTemplate> </TabControl.ContentTemplate> </TabControl>

我将数据传递到TabControl在后面的代码与

_DataList.ItemsSource = myListofObjects;

这是不工作的内容​​...

头负荷就好了(包括图像和文本...)

任何人有任何想法怎么办呢?

非常感谢!

--------------解决方案-------------

你的ContentTemplate似乎是错误的:

<TabControl x:Name="_DataList" Margin="10">
<!-- Header -->
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Height="18" Source="{Binding mainProperty_1/>
<TextBlock Text="{Binding mainProperty_2}" Margin="2,0,0,0" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<!-- Content -->
<TabControl.ContentTemplate><!-- its bound to one mainObject -->
<DataTemplate x:Name="objectDataTemplate">
<!-- if you wanna bind to something from your objectsList you have to threat it like a list, cause it is :) -->

<ListBox Itemssource={Binding objectsList}>
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type objectType1}">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding property_1}" ToolTip="{Binding property_2}" IsHitTestVisible="false" Stretch="Uniform"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>

1)你试图连接通过结合列出?

var b = new Binding("myListofObjects");
BindingOperations.SetBinding(_DataList, ItemsControl.ItemsSourceProperty, b);

2)如果您使用绑定,是否设置相应的DataContext?

分类:C# 时间:2012-01-01 人气:1
分享到:

相关文章

  • WPF:数据绑定的TabControl不提交更改时,选择新标签 2013-11-13

    我有每个选项卡,它的内容是数据绑定到一个ObservableCollection一个TabControl: <TabControl ItemsSource="{Binding Path=.}"> <TabControl.ContentTemplate> <DataTemplate> <TextBox Text="{Binding Path=propertyValue}" /> </DataTemplate>

  • WPF数据绑定计算值有时分钟,有时小时 2012-02-01

    我有一个WPF窗口,一个文本框,使用标准的WPF数据绑定到一个对象. 这一切工作正常,问题是这样的: 用户输入时间的估计,我想给用户(通过一个下拉列表)进入以小时或分钟数据的选项. 我想保持数据以分钟,并且如果用户选择小时,乘以60它们的输入和存储的数据. 我怎样才能做到这一点与WPF绑定? 这甚至可能吗? 编辑 例如,90分钟就显示为1.5,如果在下拉列表被设定为小时,但90如果选择miutes. --------------解决方案------------- 你可以使用一个特殊的属性你的窗口

  • 登录WPF数据绑定值更改为一个物业 2012-05-27

    我有一个关于WPF数据绑定问题的通知 我有一个复选框是绑定到内部数据模型的布尔属性格式双向的. 我想要的是显示在用户界面中的值更改消息(比方说,"从真正=>假SomeBoolParameter变化"),只要属性更改. 我已经实现了数据模型的INotificationPropertyChanged接口,我知道我可以在XAML中设置SourceUpdated得到通知. 但是,我可以在SourceUpdated事件收到的EventArgs的是DataTransferEventArgs对

  • WPF数据绑定:如何检测一个项目的变化? 2012-07-09

    我有一个WPF数据绑定的一些问题,我希望能在我交代清楚,因为我担心这个问题很微妙. 我基本上是一个WPF用户控件与一群组合框,每一个被链接到对方. 我的意思是,第一组合框填充有一些元件,并且当用户选择和产品中,第二组合框填充有与其它COMBOX基于先前选择的元素,依此类推. 所有的组合框都绑定与UpdateSourceTrigger =引发LostFocus. 对于组合的ItemsSource属性的代码如下所示: private ICollectionView allTicketTypesVie

  • 新的WPF数据绑定 2012-07-26

    我是新来WPF数据绑定,有点卡住. 显然,我的文本框不正确绑定到数据元素我打算,我想不通为什么. 首先在我的MainWindow.xaml文件,我宣布一个对象: <Window.Resources> <local:Aircraft x:Key="Aircraft"/> </Window.Resources> 这将创建期间类型飞机的对象MainWindow.InitializeComponent() (我可以通过将一个断点飞机的构造验证) 班Aircr

  • 似乎无法得到WPF数据绑定在我的脑海 2012-09-18

    好吧,我在编程或C#这样没有新手,我似乎无法得到WPF的数据绑定直在我的头上. 我的同事们正在热烈讨论它(是的,我会要求他们为好),但现在我很为难. 下面是我想对于初学者做什么: 举个例子,我得到了这样的事情的清单: List<Thing> thingList = Source.getList(); 现在通常我会去 foreach(Thing t in thingList) { //add thing to combobox } 但是,从我所知的是,我可以以某种方式无法做到这一点,但使用数据绑

  • 没有办法让事件,当一些WPF数据绑定更新发生? 2012-10-06

    没有办法让事件,当一些WPF数据绑定更新发生? UPD我开发扩展标准控件的一个自定义的控制. 我需要得到通知,当时的祖先控制改变DataContext属性,或者数据绑定祖先控制的任何属性的原因更新. --------------解决方案------------- 这听起来像你需要:INotifyPropertyChanged的要在您的视图模型实现的. 显然,这取决于具体的实现,但是这是假定您遵循MVVM. 这就可以让你进行基于一个绑定属性改变的值一些工作​​(和事件被上升). 如果你在谈论从控制

  • 如何检测损坏的WPF数据绑定? 2013-03-13

    虽然试图回答在附近的"单元测试WPF绑定"的问题,我有以下琐碎的问题.. 什么是找到,如果你有WPF数据绑定线路设置不当(或者你只是打破了正确接线的东西)的最佳方法是什么? 虽然单元测试的方法似乎是像乔尔的"剥去你的手臂删除分裂"..我环顾四周,方便开销少的方式来检测这一点. 每个人似乎都致力于数据与WPF大张旗鼓地结合..它确实有其可取之处. --------------解决方案------------- 在.NET 3.5中它引入了一个新的方式来了解具体的数据绑

  • WPF数据绑定,CollectionViewSource,INotifyPropertyChanged的 2013-04-01

    当我试图做一些事情在WPF第一次,我很困惑与WPF数据绑定. 于是我研究了下一看一遍例如MSDN上:http://msdn.microsoft.com/en-us/library/ms771319(v=VS.90).aspx 现在,我很明白如何使用主从模式的一种形式,需要将数据从一个源(一个表) - 无论是主机和详细的部件. 我的意思是比如我有一个数据网格与网格下面我与当前行的详细数据的几个领域. 但怎么办呢,如果详细的数据来自不同但相关的表? 例如:你有一个表"用户"的列 - '身份

  • WPF数据绑定到泛型列表 2013-05-01

    解决解决SLOVED 泛型列表是结构的列表 如果您使用的是结构的一类,而不是它工作正常 即 public class Person { public string Name { get; set;} public string ID { get; set;} } instead of public struct Person { public string Name; public string ID; } 我做错了什么......你知道是怎么回事. 我曾尝试玩弄的ItemsSource,Dat

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.226 (s). 10 q(s)