ViewModelに格納されているDataTemplate内のデータをバインドしたかったのです。私はいくつかの方法を試しましたが、成功しませんでした。WPFのソリューションは、RelativeSourceのAncestorTypeプロパティのようにWinRTでは動作しないようです。ここでWinRT DataTemplate内でViewModeのデータをバインドする
<Page.DataContext>
<local:ViewModel x:Name="ViewModel" />
</Page.DataContext>
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ListView ItemsSource="{x:Bind ViewModel.names}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:mydatatype">
<StackPanel>
<TextBlock Text="{Binding Name}"/>
<!--Here I want a TextBlock to show the number-->
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
は、あなたがそれらに名前を与え、その後、これを参照することにより、他のオブジェクトののDataTemplateにアクセスすることができViewModelに
public class ViewModel
{
public int Number = 42;
public List<mydatatype> names = new List<mydatatype>();
public ViewModel()
{
names.Add(new mydatatype("name1"));
names.Add(new mydatatype("name2"));
}
}
public class mydatatype
{
public string Name { get; set; }
public mydatatype(string name)
{
this.Name = name;
}
}
さらにコードを入力してください。今は十分な情報ではないからです。たとえば、私はあなたに "名前"が表示されませんViewModel –
これをチェックしてください http://stackoverflow.com/questions/33070705/with-compiled-bindings-xbind-why-do-i-have-to-call- bindings-update – NotAGenie
@AlexejSommer ViewModelを更新しました。ご迷惑をおかけして申し訳ありません。 – NickThomsan