2011-09-09 170 views
1

我有下面的xaml,我試圖綁定到我的課程。我無法使值顯示出來。任何人都可以向我指出我失蹤的方向。先謝謝你。Xaml數據綁定

Dim frm As New EditPart 
    frm.DataContext = New SelectedPart(_CPPartPicker.Selected_Part, "ABC") 
    frm.Show() 

Class SelectedPart 
Property Part_Key As Integer 
Property Part_Id As String 
Property Part_Rev As String 
Property Whse As String 
Property Part_Description As String 
Sub New(Part As SNC.SL.Common.CP_Item.CP_Item_Lookup_Version_1Item_Lookup_Response, Whse As String) 
    Part_Key = Part.ITEM_KEY 
    Part_Id = Part.ITEM_ID 
    Part_Rev = Part.ITEM_RVSN_ID 
    Whse = Whse 
    Part_Description = Part.ITEM_DESC 
End Sub 

末級

<Grid x:Name="LayoutRoot" Margin="2"> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <sdk:Label Content="{Binding Path=Part_Id, StringFormat='Part ID: \{0}'}" /> 
    <sdk:Label Content="{Binding Path=Part_Rev, StringFormat='Part Rev: \{0}'}" /> 
    <sdk:Label Content="{Binding Path=Part_Description, StringFormat='Description: \{0}'}"/> 

     <Button x:Name="CancelButton" Content="Cancel" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,0,0" Grid.Row="1" /> 
    <Button x:Name="OKButton" Content="OK" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,79,0" Grid.Row="1" /> 
</Grid> 

在輸出中窗口我得到的下面的錯誤消息:

無法從「SNC.CommonStock 'PART_ID' 值(類型 'System.String') .SelectedPart'(輸入'SNC.CommonStock.SelectedPart')。 BindingExpression:Path ='Part_Id'DataItem ='SNC.CommonStock.SelectedPart'(HashCode = 53866394);目標元素是'System.Windows.Controls.Label'(Name =''); System.MethodAccessException:嘗試通過方法'System.Windows.CLRPropertyListener.get_Value()'來訪問方法'SNC.CommonStock.SelectedPart.get_Part_Id()'失敗。

+0

它並沒有的StringFormat –

+0

工作沒有不與拆卸的StringFormat – Jim

回答

2

目前所有標籤都相互重疊,如果沒有說明,則可能會看到沒有內容。將標籤放在StackPanel中。

+0

我給的工作,在第一,但一個嘗試沒有解決問題。我剛剛在輸出中看到這個錯誤 - 無法從'SNC.CommonStock.SelectedPart'(鍵入'SNC.CommonStock.SelectedPart')獲得'Part_Id'值(輸入'System.String')。 BindingExpression:Path ='Part_Id'DataItem ='SNC.CommonStock.SelectedPart'(HashCode = 53866394);目標元素是'System.Windows.Controls.Label'(Name =''); System.MethodAccessException:嘗試通過方法'System.Windows.CLRPropertyListener.get_Value()'來訪問方法'SNC.CommonStock.SelectedPart.get_Part_Id()'失敗。 – Jim

+1

@Jim:我不做VB.NET,但在C#中類是內部的(我認爲VB中的朋友說),屬性是私人的,除非你另有指定。對於綁定工作,需要公開類和屬性。所以我想知道是否需要將公共輔助功能添加到類和屬性中。 – AnthonyWJones

+0

是的,是的。我在下面發佈了我的答案。看起來我們在同一時間發佈它:) – Jim

0

我不得不做出這個類,我結合公共