0

私のアプリケーションでは、ページにデータコンテキストがありますが、さらにデータコンテキストを作成する必要があるため、このデータコンテキストをListViewに移動したいと思います。

DataContextグリッドを呼び出すために名前を割り当てようとしましたが、機能しません...

<Page
x:Class="Food_UsuarioWin8.Pages.HUB"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Food_UsuarioWin8.Pages"
xmlns:vmSegments="using:Food_UsuarioWin8.ViewModels"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">

 </Page.Resources>
<Page.DataContext>
    <vmSegments:ViewModelSegments x:Name="DataContextSegments"/>
</Page.DataContext>

 <ListView x:Name="ListViewSegments" Grid.Row="1" Margin="0" DataContext="{StaticResource DataContextSegments}" ItemContainerStyle="{StaticResource ListViewSItemtyleECFood}" >
  <Viewbox>
  </Viewbox>
 </ListView>
4

1 に答える 1

0

「複合」データコンテキストを作成する方法は2つあります。

ViewModel私の好みは、必要な各データコンテキストのプロパティを持つ単一のクラスです。

public class ViewModel
{
    public ViewModel()
    {
        Segments = new ViewModelSegments();
        SomethingElse = new ViewModelSomethingElse();
    }

    public ViewModelSegments Segments { get; set; }
    public ViewModelSomethingElse SomethingElse { get; set; }
}

XAMLでは、メインViewModelDataContextページに設定してから、個々のコントロールをそのプロパティにバインドします。

<ListView ItemsSource="{Binding Segments}" />

または、個々のデータコンテキストクラスをリソースに配置し、そこから使用することもできます。

<Page.Resources>
    <vm:ViewModelSegments x:Key="DataContextSegments" />
    <vm:ViewModelSomethingElse x:Key="DataContextSomethingElse" />
</Page.Resources>

<ListView DataContext="{StaticResource DataContextSegments}" ItemsSource="{Binding}" />
于 2013-01-30T06:11:54.920 に答える