如何在fullmode中打开时更改工具包的背景颜色:PickerBox?

时间:2014-09-16 11:21:14

标签: c# xaml windows-phone-8

我正在使用

    <toolkit:PickerBox/>

如何在FullMode中打开时将其背景更改为其他颜色?

提前致谢。

2 个答案:

答案 0 :(得分:1)

将PickerBoxPage.xaml从位置/Microsoft.Phone.Controls.Toolkit/PickerBox/PickerBoxPage.xaml复制到本地项目文件夹。

将页面背景编辑为所需的背景颜色。

将工具箱的PickerPageUri:PickerBox设置为:your_localfolder_name / PickerBoxPage.xaml

例如:

    <toolkit:PickerBox PickerPageUri="/View/PickerBoxPage.xaml" />

一切都完成了。

谢谢:)

答案 1 :(得分:0)

以前在xaml我们使用DataTriggers进行此类目的。在WinRT以及WP8应用程序中,这个概念被淘汰了。您可以改为使用Visual States:

<VisualState x:Name="Maximized">
  <Storyboard>
     <ColorAnimation To="Green" Storyboard.TargetProperty="(ContentContainer.Background).(SolidColorBrush.Color)" Storyboard.TargetName="ButtonBackground" Duration="0"/>
  </Storyboard>
</VisualState>

要根据VisualState的大小更改PickerBox,您必须使用会根据选择器大小更改状态的行为(订阅SizeChanged事件):

private void SizeChanged(object sender, SizeChangedEventArgs e)
{
     UpdateVisualState();
}

private void UpdateVisualState()
{
    var state = string.Empty;

    // calculate state here (Normal vs Maximized)

    VisualStateManager.GoToState(this, state, true);
}