Как установить цвет кнопки переключения из стиля, уже определенного в приложении XAML? - PullRequest
0 голосов
/ 02 июня 2011

Я создал кнопку, и я хочу изменить ее цвет, используя стиль из приложения xaml. Но я не могу получить точный код и я новичок в xaml.

Может ли кто-нибудь помочь мне с примером.

Мне также непонятно, какое свойство для изменения цвета означает фон или передний план?

1 Ответ

0 голосов
/ 02 июня 2011
<Window
  x:Class="ToolBar"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="ToolBar"
  Width="300"
  Height="300">
  <DockPanel>
    <ToolBarTray
      DockPanel.Dock="Top"
      IsLocked="True"
      Orientation="Horizontal">
      <ToolBar
        x:Name="ToolBar1">
        <ToggleButton>
          <ToggleButton.Style>
            <Style
              TargetType="{x:Type ToggleButton}">
              <Setter Property="ContentTemplate">
                <Setter.Value>
                  <DataTemplate>
                    <Label>Play</Label>
                  </DataTemplate>
                </Setter.Value>
              </Setter>
              <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                  <Setter Property="ContentTemplate">
                    <Setter.Value>
                      <DataTemplate>
                        <Label>Pause</Label>
                      </DataTemplate>
                    </Setter.Value>
                  </Setter>
                  <Setter Property="BorderBrush" Value="Transparent" />
                  <Setter Property="Panel.Background" Value="Transparent" />
                </Trigger>
              </Style.Triggers>
            </Style>
          </ToggleButton.Style>
        </ToggleButton>
      </ToolBar>
    </ToolBarTray>
  </DockPanel>
</Window>

На панели инструментов два оператора:

<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="Panel.Background" Value="Transparent" />

вызывает переключение кнопки переключения в нормальное состояние при проверке кнопки переключения, однако ничего не меняется при наведении курсора на кнопку переключателя.

Если я оберну кнопку переключения в другом макете, скажем, обернуть макет:

<Window
  x:Class="ToolBar"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="ToolBar"
  Width="300"
  Height="300">
  <WrapPanel>
        <ToggleButton>
          <ToggleButton.Style>
            <Style
              TargetType="{x:Type ToggleButton}">
              <Setter Property="ContentTemplate">
                <Setter.Value>
                  <DataTemplate>
                    <Label>Play</Label>
                  </DataTemplate>
                </Setter.Value>
              </Setter>
              <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                  <Setter Property="ContentTemplate">
                    <Setter.Value>
                      <DataTemplate>
                        <Label>Pause</Label>
                      </DataTemplate>
                    </Setter.Value>
                  </Setter>
                  <Setter Property="BorderBrush" Value="Transparent" />
                  <Setter Property="Panel.Background" Value="Transparent" />
                </Trigger>
              </Style.Triggers>
            </Style>
          </ToggleButton.Style>
        </ToggleButton>
  </WrapPanel>
</Window>

два утверждения:

<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="Panel.Background" Value="Transparent" />

Вы можете найти учебник в следующем URL http://social.msdn.microsoft.com/Forums/pl-PL/wpf/thread/7e565a41-0aad-40a3-a3c4-666c5caf38fe

Спасибо Дипак

...