Xaml Data Binding - PullRequest
       7

Xaml Data Binding

1 голос
/ 09 сентября 2011

У меня есть следующий 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>

В окне вывода отображается следующее сообщение об ошибке:

Невозможно получить значение Part_Id (тип'System.String') из 'SNC.CommonStock.SelectedPart' (тип 'SNC.CommonStock.SelectedPart').BindingExpression: Path = 'Part_Id' DataItem = 'SNC.CommonStock.SelectedPart' (HashCode = 53866394);Целевым элементом является 'System.Windows.Controls.Label' (Name = '');Свойство target - «Content» (тип «System.Object»). System.MethodAccessException: попытка метода «System.Windows.CLRPropertyListener.get_Value ()» для доступа к методу «SNC.CommonStock.SelectedPart.get_Part_Id ()» не удалась

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

В настоящее время все ярлыки располагаются друг над другом, если нет описания, то потенциально вы не увидите содержимого. Поместите метки в StackPanel.

0 голосов
/ 09 сентября 2011

Я должен был сделать класс, который был обязательным для публики

...