2010-10-19 69 views
1

初學者教程中,我一直跟着說我應該在窗口中創建一個命名空間,如何爲單個元素設置DataContext?

<Window ... xmlns:vm="clr-namespace:MyApp.ViewModels" /> 

,然後設置的DataContext這樣,

<Window.DataContext> 
    <vm:MyViewModel /> 
</Window.DataContext> 

但我不想在DataContext到適用於整個窗口。我想要不同的元素使用不同的上下文。

我的DataGrid中被定義一樣,

<DataGrid ... DataContext="{Binding}" ItemsSource="{Binding Path=Queue}" 

我想這DataContext="{Binding}"位基本上採用「使用父上下文」,但我不能將其設置爲vm:MyViewModel就在那裏?我不確定正確的語法,並且Visual Studio屬性窗口在這件事上似乎很沒用。

回答

2

你可以不喜歡它:

這實際上就是你把它放在一個窗口的方式相同。

+0

夠簡單......我想我是困惑的問題。謝謝! – mpen 2010-10-19 19:10:30

1

您可以在控件本身上設置datacontext。在你使用DataGrid的情況下,你會使用

 <DataGrid.DataContext> 
       <vm:MyViewModel /> 
     </DataGrid.DataContext>