按下时将按钮更改为其装订颜色

时间:2010-10-05 10:58:07

标签: wpf-controls

我想在按下时更改我的按钮颜色:             

            <DataTemplate>
                <!--Click="btn_Click"-->
                <ItemsControl DataContext="{Binding}" ItemsSource="{Binding}">
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>

                            <Button 
                                Name="btn"
                                DataContext="{Binding}"                             
                                Height="65" Width="79"
                                Background="Gray"
                                >

                                <Button.Template>

                                    <ControlTemplate TargetType="{x:Type Button}">
                                        <Ellipse Name="elipse1" Height="65" Width="79" Fill="{Binding Path=ButtonColor}" Visibility="Collapsed"></Ellipse>
                                        <ControlTemplate.Triggers>
                                             <Trigger Property="IsPressed" Value="True">
                                                <Setter TargetName="elipse1" Property="Visibility" Value="Visible"/>

                                            </Trigger>
                                         </ControlTemplate.Triggers>
                                    </ControlTemplate>
                                </Button.Template>

                            </Button>

                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>

它似乎没有更好的工作,然后我使用所有triger&lt;&gt;灰色按钮没有显示如果这个模板比绑定更强吗?是真的吗?怎么结果呢?

1 个答案:

答案 0 :(得分:0)

问题在于,当没有按下按钮时 - 它没有视觉冲击(Visibility =“Collapsed”) - 按钮内没有元素 - 因此它变得不可见(然后很难按下它: ))。

你需要在ControlTemplate中放置除Ellipse之外的东西,让它显示一些东西而不是椭圆。