2013-09-08 42 views
5

Tôi muốn đặt một nút theo kiểu phẳng theo chương trình khi một số điều kiện nhất định xảy ra.Nút thiết lập theo phong cách phẳng lập trình

This question cho biết cách tôi có thể đặt kiểu cho điều khiển theo chương trình, đã xác định kiểu trong XAML.

This question cho biết rằng kiểu nút phẳng đã tồn tại, do đó không cần thiết phải tạo kiểu trong XAML.

ToolBar.ButtonStyleKey trả về một ResourceKey và kiểu tương ứng không được xác định trong cửa sổ của tôi (nó nằm trong ToolBar). Làm cách nào để sử dụng nó trong mã để đặt kiểu theo chương trình?

Trả lời

12

Là một thay thế, bạn có thể thử này:

XAML

<Button Name="FlatButton" Width="100" Height="30" Content="Test" /> 

Code behind

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    FlatButton.Style = (Style)FindResource(ToolBar.ButtonStyleKey); 
} 
8

Đây là giải pháp thay thế hoạt động. Thêm một phong cách dựa trên ToolBar.ButtonStyleKey để Window.Resources như sau:

<Window.Resources> 
    <Style x:Key="MyStyle" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" TargetType="Button" /> 
</Window.Resources> 

Sau đó, trong mã, coi nó như mỗi liên kết đầu tiên trong câu hỏi này:

button.Style = this.Resources["MyStyle"] as Style; 

tôi muốn có một số- giải pháp duy nhất (không có XAML) cho điều này, nhưng điều này cũng hoạt động tốt.

Các vấn đề liên quan