Jak zrobić płaski przycisk w WPF? Próbowałem właściwości BasedOn, ale nie działa.Przycisk płaski wpf
Odpowiedz
Wystarczy Ci zacząć:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Page.Resources>
<Style x:Key="Flat">
<Setter Property="Control.Background" Value="{x:Null}" />
<Setter Property="Control.BorderBrush" Value="{x:Null}" />
<Style.Triggers>
<Trigger Property="Control.IsMouseOver" Value="True">
<Setter Property="Control.Background" Value="{x:Null}" />
<Setter Property="Control.BorderBrush" Value="{x:Null}" />
<Setter Property="Control.FontWeight" Value="Bold" />
</Trigger>
<Trigger Property="Control.IsFocused" Value="True">
<Setter Property="Control.FontWeight" Value="Bold" />
</Trigger>
</Style.Triggers>
</Style>
</Page.Resources>
<StackPanel>
<Button Style="{StaticResource Flat}">Hello</Button>
</StackPanel>
</Page>
Wtedy masz jeden Millon inne sposoby, aby to zrobić, nawet zmieniając ControlTemplate
aby zakończyć przedefiniować przycisk
Nie mogę tego zrobić. Twój przykładowy styl nie usuwa obramowania ani tła przycisku. Jedyną rzeczą, która działa z tego przykładu, jest to, że tekst na przycisku jest pogrubiony po najechaniu myszą. – Johncl
@Johncl zobacz moją odpowiedź poniżej –
szybkie rozwiązanie: Wstaw przycisk w <ToolBar/>
Nota prawna: spowoduje dodanie chromowanego paska narzędzi, może to być problem w niektórych przypadkach. (Dzięki Indeera)
Dodaje chrome paska narzędzi i nie rozwiązuje problemu. – Indy9000
Dodaje pasek narzędziowy chrome: yes; Nie rozwiązuje problemu: subiektywna –
Aby dodać odpowiedź Eduardo, ten roztwór pozbywa żadnych dodatkowych stylizacji takie jak obramowania wokół przycisku jeśli grubość jest ustawiona na 0.
Możesz dodać dodatkową stylizację, ile potrzeba:
<Style x:Key="Flat" TargetType="Button">
<Setter Property="Background" Value="{x:Null}" />
<Setter Property="BorderBrush" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="true">
</Trigger>
<Trigger Property="IsDefaulted" Value="true">
</Trigger>
<Trigger Property="IsPressed" Value="true">
</Trigger>
<Trigger Property="ToggleButton.IsChecked" Value="true">
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{x:Null}" />
<Setter Property="BorderBrush" Value="{x:Null}" />
<Setter Property="FontWeight" Value="Normal" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="FontWeight" Value="Normal" />
</Trigger>
</Style.Triggers>
</Style>
Kolejną poprawą, którą chciałbym dodać, jest ustawienie 'SnapsToDevicePixels =" True "' dla '
bardziej proste rozwiązanie tutaj używając już zdefiniowany styl przycisku paska narzędzi:
<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
Content="You know I'm flat..." />
Jeśli wystarczy, aby przycisk „niewidzialne”, ale punktem kulminacyjnym stanie:
bb.Background = nowy SolidColorBrush (Colors.White); bb.BorderBrush = nowy SolidColorBrush (Colors.White);
- 1. Jak utworzyć płaski styl combobox WPF?
- 2. Android utworzyć „płaski przycisku”
- 3. Przycisk WPF z obrazem
- 4. Przycisk tekstowego przycisku WPF
- 5. Kwalifikator "płaski" w glsl?
- 6. WPF - Ukryj przycisk minimalizacji okna
- 7. klienta Shaped Przycisk w WPF
- 8. Przycisk WPF ToggleButton IsChecked Trigger
- 9. UIBarButtonItem nie jest płaski na iOS 7
- 10. Dlaczego miałbym zachować stan płaski
- 11. Jak wyrównać przycisk w widoku drzewa wpf
- 12. Jak utworzyć przycisk Zawijanie w WPF
- 13. Dlaczego WPF przycisk przełączania impuls raz niezaznaczone
- 14. Pobierz wybrany przycisk radiowy w grupie (WPF)
- 15. Przycisk zamykania okna obsługi w WPF MVVM
- 16. Utwórz przycisk wpf z obrazem i tekstem
- 17. Jak wyrównać przycisk przełączający WPF Expander
- 18. Maven tworzący płaski zespół zamka błyskawicznego
- 19. Pomoc "?" przycisk
- 20. Wyłącz przycisk WPF, ale nadal połknij zdarzenia kliknięcia.
- 21. WPF - Domyślnie przycisk nie działa zgodnie z oczekiwaniami
- 22. WPF: Lewy przycisk myszy kliknij i przytrzymaj manipulowanie
- 23. Set Przycisk Rozmiar do treści Rozmiar w aplikacji WPF
- 24. Przycisk WPF w ListView nie widzi polecenia w ViewModel
- 25. Zastępowanie Przycisk w XAML WPF z ControlTemplate nie wyświetla zawartości
- 26. Wyłącz przycisk zamykania na pasku tytułu okna WPF (C#)
- 27. Jak dodać przycisk "Wyczyść" do pola tekstowego w WPF?
- 28. Jak można "wyłączyć" przycisk w WPF przy użyciu wzorca MVVM?
- 29. Pokaż przycisk wielokropka (...), gdy tekst przekracza zakres WPF
- 30. Jak wybrać domyślny przycisk w oknie dialogowym wpf?
Zobacz także: http://stackoverflow.com/questions/697381/setting-button-flatstyle-in-wpf szczególnie jeśli lubisz jedno-liniowce. – greenoldman