2009-10-02 133 views
0
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> 

正如你可以看到我還沒有真正得到過遠。我已經嘗試了許多不同的方法來做到這一點,包括使用依賴屬性...我真的找不到一個教程,顯示這個特定的情況...任何人都可以指向我的方向正確嗎?

回答

0

如果您要設定在代碼中DataContext後面按你的第一個代碼段,有沒有必要這樣做,也是在XAML,這樣你就可以卸下Grid「日誌」資源和相應的DataContext分配。

一旦你這樣做,它應該工作,假設你的日誌類有一個deptDescription屬性。

+0

甜奏效。但是......我真的很想把它放在XAML中,以便我可以在設計時訪問控件。我曾與一個數據網格工作,但我無法弄清楚如何在文本框中做到這一點。此外,我有一個與deptDescription殼套問題應該是DeptDescription。所以我有xaml也是正確的?它只是一個問題或者? – ecathell 2009-10-03 00:48:31

0

...在XAML你可能會做這種方式...

<UserControl.DataContext> 
    <local:LogSystemPickerItem/> 
</UserControl.DataContext> 
+0

這樣做會導致我的IDE崩潰。 – ecathell 2009-10-09 20:15:10