我想在Windows Phone 8.1的应用栏的辅助部分添加自定义控件,如滑块或按钮,就像相机应用的应用栏中的那个。
知道怎么做吗?
答案 0 :(得分:2)
所以,看起来,我的解决方案只适用于设计师,尝试过另一种,但也只适用于设计师。所以我得出结论,除了默认按钮之外,不可能在命令栏中输入任何内容,我的尝试如下:
我尝试将此样式应用于AppbarButoon,按钮在设计器中更改为滑块,但在手机上它的样式已被覆盖
<Style x:Key="ButtonStyle1" TargetType="Button">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="{ThemeResource PhoneForegroundBrush}"/>
<Setter Property="Foreground" Value="{ThemeResource PhoneForegroundBrush}"/>
<Setter Property="BorderThickness" Value="{ThemeResource PhoneBorderThickness}"/>
<Setter Property="FontFamily" Value="{ThemeResource PhoneFontFamilyNormal}"/>
<Setter Property="FontWeight" Value="{ThemeResource PhoneButtonFontWeight}"/>
<Setter Property="FontSize" Value="{ThemeResource TextStyleLargeFontSize}"/>
<Setter Property="Padding" Value="9.5,0"/>
<Setter Property="MinHeight" Value="{ThemeResource PhoneButtonMinHeight}"/>
<Setter Property="MinWidth" Value="{ThemeResource PhoneButtonMinWidth}"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid x:Name="Grid" Background="Transparent">
<Slider ValueChanged="RangeBase_OnValueChanged" Width="100" Background="{TemplateBinding Background}" Foreground="{TemplateBinding Foreground}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
第二种方法是从滑块派生并实现ICommandBarElement,它似乎正在工作,直到我在模拟器下运行它,Slider甚至没有出现。
public sealed class CommandBarSlider : Slider, ICommandBarElement
{
public CommandBarSlider()
{
this.DefaultStyleKey = typeof(Slider);
}
public bool IsCompact { get; set; }
}
从这些代码中得出的明显结论是,你要做的事情要么是不可能的,要么是我忽略了什么。
(可能我忽略了一些事情)