为什么我的XAML ToggleButton对代码隐藏不可见?

时间:2014-11-16 05:16:49

标签: c# xaml windows-store-apps winrt-xaml appbar

我在MainPage.xaml中有一个ToggleButton:

<ToggleButton x:Name="ColorToggle" Background="{Binding Background, ElementName=LayoutRoot}" ToolTipService.ToolTip="Change Toolbar Color">

...当我尝试从MainPage.xaml.cs访问它时:

private void SaveAppBarColorSelected(object sender, TappedRoutedEventArgs e)
{
    PhotraxUtils.SetLocalSetting(PhotraxConsts.APPBARBUTTON_COLOR, ColorToggle.Background.ToString());
}

...我明白了,“当前上下文中不存在'ColorToggle'这个名称

为什么?

1 个答案:

答案 0 :(得分:1)

在代码隐藏中只能使用根上下文中的控件。如果将命名控件放在模板中,它将无法使用。在这种情况下,您可以使用VisualTreeHelper和其他方法遍历控件树。

或者更好的是,只需使用MVVM。