【发布时间】:2014-03-08 05:27:05
【问题描述】:
我的 xaml 中有一个画布对象,它有一个切换按钮和两个文本块,就像这样。
<ListBox.ItemTemplate>
<DataTemplate >
<Canvas HorizontalAlignment="Right" VerticalAlignment="Top" Width="485"
Margin="-15,0,-15,80" Visibility="Visible"
MouseLeftButtonUp="MandantenStackPanel_MouseLeftButtonDown">
<ToggleButton Name="FavToggle" Checked="FavChecked" Unchecked="FavUnchecked"
Style="{StaticResource CustomToggleButtonStyle}"
Foreground ="White" BorderBrush="Red" HorizontalAlignment="Left"
Canvas.Left="0" Canvas.Top="0">
<ImageBrush ImageSource="/Icons/favs.png" Stretch="UniformToFill" >
</ImageBrush>
</ToggleButton>
<TextBlock Text="{Binding MandantenNummer}" FontSize="24"
TextWrapping="Wrap" Canvas.Left="90" Canvas.Top="20"/>
<TextBlock Text="{Binding MandantenBezeichnung}" FontSize="24"
TextWrapping="Wrap" Canvas.Left="90" Canvas.Top="50"/>
</Canvas>
</DataTemplate>
</ListBox.ItemTemplate>
在我的 .cs 中,我将一个集合项绑定到该列表框,该列表框还有一个名为 isFavorite 的布尔值,我想用我的切换按钮进行切换。如何从我的切换事件处理程序内部访问画布中的数据上下文?我试过了,就像你点击文本框时所做的那样:
private void FavChecked(object sender, EventArgs e)
{
ClassX x = (sender as Canvas).DataContext as Class x;
x.isFavorite = true;
}
但这当然不起作用,因为我的发件人是切换按钮而不是画布。我可以从这里访问画布吗?
【问题讨论】:
标签: xaml windows-phone-8 windows-phone