Silverlight切换按钮分组

Tod*_*ubb 11 c# silverlight xaml

我正在开发一个Silverlight应用程序,并希望创建一个包含5个切换按钮(用于菜单选项)的分组,这些按钮在单击时增大动画(增大尺寸),并且还会导致组中任何先前单击的按钮取消隐藏并动画回到他们的缩小的尺寸.

我知道我可以使用暴力方法,应用程序直接知道每个按钮,但如果我添加或更改菜单(添加/删除按钮)我必须记住修改代码(这是不好的,因为我'健忘).有没有办法更智能地对按钮进行分组,以便在单击按钮时可以告诉组中的所有其他按钮是否取消?

谢谢!托德

Tod*_*ubb 7

Michael S. Scherotter特别向我指出了使用RadioButton和控制模板的正确方向!

这是我想出的基本控件模板.如果您愿意,请将它放在标签之间的App.xaml中.用户体验会让它一次性完成它,但是现在,它可以作为一个单选按钮,看起来像一个切换按钮(或只是一个按钮),但有一个组名.

一个重要的注意事项:这个模板没有任何基本的按钮动画,因此点击时不会按下...这就是我上面提到的UX工作.

    <Style x:Key="MenuButton" TargetType="RadioButton">
        <Setter Property="Width" Value="100"/>
        <Setter Property="Height" Value="25"/>

        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="RadioButton">
                    <Border BorderBrush="DarkGray" BorderThickness="3" CornerRadius="3" Background="Gray">
                        <!-- The ContentPresenter tags are used to insert  on the button face for reuse -->
                        <ContentPresenter></ContentPresenter>
                    </Border>
                </ControlTemplate>

            </Setter.Value>
        </Setter>
    </Style>
Run Code Online (Sandbox Code Playgroud)