私はWindows phoneのためのアプリを構築しています7.私はビューモデルを持つパノラマページを持っています - メインメニュー項目のリスト。これらのクリックをデータにバインドする方法や、他のページへのリンクを作成する方法はわかりません。 (つまり、このmenyアイテムは、別のページにリンクするには舐める必要があります)。私が試したのは、メインのviewmodel.csアイテムのリストの{binding Link}というテキストにclickイベントを割り当てました。それぞれの 'Link'項目は、以下のcsファイルのコードに従ってEventハンドラでした。これはどのようにこれを達成するために不思議に動作しません。 xamlファイルの下の例は、リスト内のすべてのテキストリンクが同じイベント: 'TextBlock_MouseLeftButtonDown_Wales'に移動することを示しています。もちろん私は彼らが各ページに自分のページを持って行きたい。WP7ビューモデルのリンクをクリックしてください
MainPage.xamlを
<ListBox Margin="0,0,-12,0" ItemsSource="{Binding Items}" Background="#75000000">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,10">
<!--Replace rectangle with image-->
<!-- <Rectangle Height="100" Width="100" Fill="#FFE5001b" Margin="12,0,9,0"/> -->
<Image Source="/images/image1.png" Height="70" HorizontalAlignment="Left" Margin="0,0,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="77" Opacity="1" OpacityMask="#C8000000" />
<StackPanel Width="311">
<TextBlock Text="{Binding LineOne}" MouseLeftButtonDown="TextBlock_MouseLeftButtonDown_Wales" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
MainViewModel.cs
this.Items.Add(new ItemViewModel() { LineOne = "England", LineTwo = "blahblah", Link = "TextBlock_MouseLeftButtonDown_London" });
this.Items.Add(new ItemViewModel() { LineOne = "Scotland", LineTwo = "blahblah ", Link = "TextBlock_MouseLeftButtonDown_London" });
this.Items.Add(new ItemViewModel() { LineOne = "Wales", LineTwo = "blahblah ", Link = "TextBlock_MouseLeftButtonDown_Wales" });
this.Items.Add(new ItemViewModel() { LineOne = "London", LineTwo = "blablbah ", Link = "TextBlock_MouseLeftButtonDown_London" });
私はあなたがより多くの情報が必要な場合は私に知らせて、あなたは私がここでやってトリング午前何を理解してほしいです。どうもありがとう。 Dan
ありがとうマット、私はあなたのラインに沿ってさらに研究を行います。もちろん、TextBlock_MouseLeftButtonDown_ *がmainpage.xaml.csにあることは間違いありません。 –
@Danどのようにあなたは終わりましたか? –