Trong tôi C#/WPF/NET 4.5 ứng dụng tôi có các nút với những hình ảnh mà tôi thực hiện trong thời trang sau:Tạo kiểu một nút WPF với hình ảnh + chữ
<Button Style="{StaticResource BigButton}">
<StackPanel>
<Image Source="Images/Buttons/bt_big_save.png" />
<TextBlock>save</TextBlock>
</StackPanel>
</Button>
Tôi có một cuốn từ điển tài nguyên UIStyles.xaml trong đó tôi tuyên bố như sau: tính
<Style TargetType="Button" x:Key="BigButton">
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Height" Value="80" />
<Setter Property="Width" Value="80" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border"
CornerRadius="5"
Background="#FF415360">
<ContentPresenter x:Name="ButtonContentPresenter"
VerticalAlignment="Center"
HorizontalAlignment="Center">
<ContentPresenter.Resources>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
</Style>
<Style TargetType="Image">
<Setter Property="Width" Value="10" />
<Setter Property="Margin" Value="10" />
</Style>
</ContentPresenter.Resources>
</ContentPresenter>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Con trỏ, chiều cao, biên giới vv hoạt động tốt, nhưng tôi không thể tạo kiểu cho TextBlock
và Image
.
Cụ thể, những gì cần phải trông như thế này:
Kết thúc lên tìm kiếm như thế này (không tính đến sự khác biệt màu sắc):
Tôi đã nhìn thấy similar questions hỏi trước nhưng các giải pháp đã sử dụng các cách tiếp cận khác nhau (tôi không muốn tạo một Điều khiển người dùng tùy chỉnh, tất cả các nhu cầu của tôi ngoại trừ yêu cầu này được trình bày trong mã hiện tại và viết lại sẽ là một mối phiền toái). Tôi chỉ cần sửa chữa Style
để TextBlock
được căn giữa và Image
được căn giữa và được làm nhỏ hơn.
Làm cách nào để viết lại Style
để sửa giao diện của các nút của tôi?
Điều này là đúng, các kiểu trong '' không được áp dụng. Di chuyển chúng sang '' làm cho giao diện người dùng trông như mong đợi. –
Rachel