2012-06-06 65 views
0

我使用MVVM模式與文本塊的entrylog綁定的TextBlocks綁定。需要將對象在窗口WPF

<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}"/> 

也在其他領域

但在該領域沒有得到值提前

感謝

回答

0

如果WindowsEventsAutoMountViewModel是你的類,它被設置到DataContext,然後綁定將通過默認是指該班的孩子。

例如,如果你的類聲明:因爲它被設置爲您的DataContext

{Binding Path=Name} 

這麼久:

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

你會綁定它。基本上,從你的綁定中刪除「xWindowsEventsDetail」。不必指定第二部分

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

的DataContext爲您節省:

如果你想綁定到,這不是你的DataContext的資源,你設置Source屬性的綁定到資源。

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}"/> 
+0

嘗試,也仍然沒有顯示數據 – User123