windows-phone-7 – 我应该在Windows Phone 7中使用什么样的控件
发布时间:2020-12-14 05:46:25 所属栏目:Windows 来源:网络整理
导读:我在列表中显示了数据库中的一些项目,我希望用户能够将其中一些项目标记为收藏夹.最好的方法是显示一些星形图标供用户点击,然后变成稍微不同的星星,表示该项目现在是最喜欢的.我应该为那些星星使用什么控件?我可以将它们绑定到项目的某个布尔属性吗? 解决
我在列表中显示了数据库中的一些项目,我希望用户能够将其中一些项目标记为收藏夹.最好的方法是显示一些星形图标供用户点击,然后变成稍微不同的星星,表示该项目现在是最喜欢的.我应该为那些星星使用什么控件?我可以将它们绑定到项目的某个布尔属性吗?
解决方法
您也可以使用矢量图形来实现此目的,而无需使用png图标.
我创建了这个样式一段时间,基本上它适用于CheckBox,但我认为它也适用于ToggleButton,只需将TargetType从CheckBox更改为ToggleButton即可. 通过将CheckBox或ToggleButton的IsChecked设置为True,星形将填充手机的强调色. 风格 <Style x:Key="StarCheckBoxStyle" TargetType="CheckBox"> <Setter Property="Background" Value="{StaticResource PhoneAccentBrush}" /> <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="CheckBox"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="FocusStates"> <VisualState x:Name="Focused" /> <VisualState x:Name="Unfocused" /> </VisualStateGroup> <VisualStateGroup x:Name="CheckStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="00:00:00.2000000" /> </VisualStateGroup.Transitions> <VisualState x:Name="Checked"> <Storyboard> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.0010000" Storyboard.TargetName="check" Storyboard.TargetProperty="(UIElement.Opacity)"> <EasingDoubleKeyFrame KeyTime="00:00:00" Value="1" /> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState x:Name="Indeterminate" /> <VisualState x:Name="Unchecked" /> </VisualStateGroup> <VisualStateGroup x:Name="ValidationStates"> <VisualState x:Name="Valid" /> <VisualState x:Name="InvalidUnfocused" /> <VisualState x:Name="InvalidFocused" /> </VisualStateGroup> <VisualStateGroup x:Name="CommonStates"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="00:00:00.2000000" /> </VisualStateGroup.Transitions> <VisualState x:Name="MouSEOver" /> <VisualState x:Name="Pressed" /> <VisualState x:Name="Disabled" /> <VisualState x:Name="Normal" /> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Path x:Name="check" Stretch="Fill" Height="48" Width="48" UseLayoutRounding="False" Data="M16.000002,0 L19.77688,12.223213 L32,12.222913 L22.111122,19.776972 L25.888546,32 L16.000002,24.445454 L6.1114569,32 L9.8888807,19.776972 L8.574415E-09,12.222913 L12.223121,12.223213 z" Opacity="0" Fill="{TemplateBinding Background}" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Path x:Name="stroke" Stretch="Fill" Stroke="{TemplateBinding Background}" Height="48" Width="48" UseLayoutRounding="False" Data="M16.000002,12.223213 z" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" /> <ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="0,8,0" /> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> 应用风格 <CheckBox Content="unchecked state" Style="{StaticResource StarCheckBoxStyle}" /> <CheckBox IsChecked="True" Content="checked state" Style="{StaticResource StarCheckBoxStyle}" /> 他们看起来如何 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows服务 – Visual Studio 11 BETA中不支持Windows Ins
- 使用Azure容器注册表从C#创建新的Azure容器实例
- 在Windows PowerShell中为web ui测试自动化选择下拉列表中的
- windows – 记事本列模式:转到最后一行
- windows – 在Haskell程序中使用所有可用的RAM?
- windows – timeBeginPeriod API是否会影响系统时钟?
- 添加到HKCU / Software / Classes后无法通过URI启动Windows
- 窗口 – 警告 – 提供资源不可访问运行wevtutil
- 部署 – Windows的最小剥离JRE
- 窗口对象(window.something = something)在JavaScript中做了
推荐文章
站长推荐
- Windows – Server 2008/2012(R2)组策略计划任务
- 我在哪里可以永久设置Windows PC上的Java堆大小?
- windows安装nexus3
- .net – 如何判断我在Windows服务中打开了多少个
- 使用Windows容器而不是Linux容器的优点和缺点?
- 未来的Windows Server路线图?
- 自己托管的信号器是否需要Windows Server 2012才
- 手把手教你win10家庭版升级win10专业版的最新密钥
- windows-server-2008 – Windows Server的一般用
- windows-phone-7.1 – 在编写Mango(7.0)Windows
热点阅读