0

我正在使用 MVVM 模式将条目日志与文本块绑定。

<Window.DataContext>
        <viewModel:WindowsEventsAutoMountViewModel x:Name="xWindowsEventsDetail"/>
    </Window.DataContext>
    <TextBlock x:Name="xCategoryTextBox" Grid.Column="1"  Grid.Row="0" TextAlignment="Center" Text="{Binding Path= xWindowsEventsDetail.Event.Category}"/> 

            <Label Grid.Row="1" Grid.Column="0" Content="{x:Static res:RecoveryManagerResources.EventDetailViewLabel_Level}" Name="xlabelLevel" ContentStringFormat="{}{0}:"/>
            <TextBlock x:Name="xLevelTextBox" Grid.Column="1"  Grid.Row="1" TextAlignment="Center" Text="{Binding Path= xWindowsEventsDetail.Event.Level}"/>

还有其他领域

但在该领域没有得到任何价值

提前致谢

4

2 回答 2

0

如果 WindowsEventsAutoMountViewModel 是您的类并且它被设置为 DataContext,那么绑定将默认引用该类的子类。

例如,如果您的班级声明:

public class WindowsEventsAutoMountViewModel
{
    public string Name { get; set; }
}

您可以将其绑定为:

{Binding Path=Name}

只要它设置为您的 DataContext。基本上,从绑定中删除“xWindowsEventsDetail”。

如果您想绑定到不是您的 DataContext 的资源,您可以在绑定中设置 Source 属性到资源:

{Binding Path=Name, Source={StaticResource xWindowsEventsDetail}}

DataContext 使您不必指定第二部分。

于 2012-06-06T15:29:32.040 回答
0

你的路径是错误的。您应该直接绑定到 DataContext,而不是元素。

<Window.DataContext>
        <viewModel:WindowsEventsAutoMountViewModel x:Name="xWindowsEventsDetail"/>
    </Window.DataContext>
    <TextBlock x:Name="xCategoryTextBox" Grid.Column="1"  Grid.Row="0" TextAlignment="Center" Text="{Binding Path=Event.Category}"/> 

            <Label Grid.Row="1" Grid.Column="0" Content="{x:Static res:RecoveryManagerResources.EventDetailViewLabel_Level}" Name="xlabelLevel" ContentStringFormat="{}{0}:"/>
            <TextBlock x:Name="xLevelTextBox" Grid.Column="1"  Grid.Row="1" TextAlignment="Center" Text="{Binding Path=Event.Level}"/>
于 2012-06-06T15:30:16.190 回答