WPF数据绑定到自定义集合对象
问题描述:
Public Sub New(ByVal log As Entities.LogSystem)
InitializeComponent()
Me.DataContext = log
End Sub
这是我的自定义控件的初始化器它传入一个具有多个属性字段的实体中。这个控件被添加到父控件中,以便它出现在一个堆栈面板中。WPF数据绑定到自定义集合对象
反正我想从这个控制具体的数据分成几个不同的文本框:
<UserControl x:Class="LogSystemPickerItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WavelengthIS.WISRED.UserControls"
Width="579" Height="122">
<UserControl.Resources>
<local:LogSystemPickerItem x:Key="Log"/>
</UserControl.Resources>
<Grid DataContext="{Binding Source={StaticResource Log}}">
<Label Height="30" Name="Label1" VerticalAlignment="Top" Content="{Binding deptDescription}"/>
</Grid>
</UserControl>
正如你可以看到我还没有真正得到过远。我已经尝试了许多不同的方法来做到这一点,包括使用依赖属性...我真的找不到一个教程,显示这个特定的情况...任何人都可以指向我的方向正确吗?
答
如果您要设定在代码中DataContext
后面按你的第一个代码段,有没有必要这样做,也是在XAML,这样你就可以卸下Grid
“日志”资源和相应的DataContext
分配。
一旦你这样做,它应该工作,假设你的日志类有一个deptDescription
属性。
答
...在XAML你可能会做这种方式...
<UserControl.DataContext>
<local:LogSystemPickerItem/>
</UserControl.DataContext>
+0
这样做会导致我的IDE崩溃。 – ecathell 2009-10-09 20:15:10
甜奏效。但是......我真的很想把它放在XAML中,以便我可以在设计时访问控件。我曾与一个数据网格工作,但我无法弄清楚如何在文本框中做到这一点。此外,我有一个与deptDescription壳套问题应该是DeptDescription。所以我有xaml也是正确的?它只是一个问题或者? – ecathell 2009-10-03 00:48:31