ฉันได้สร้างและใช้งาน WPf UserContol เช่น Window8 PasswordBox เมื่อฉันเปลี่ยนแบบอักษร ทั้งกล่องข้อความและปุ่มด้านในก็เปลี่ยนไป น่าเสียดายที่ขนาดตัวอักษรของปุ่มไม่เหมาะเมื่อขนาดตัวอักษรของกล่องข้อความสมบูรณ์แบบ (ดูภาพ - ปุ่มที่สองมีขนาดตัวอักษรของปุ่มที่สมบูรณ์แบบ แต่กล่องข้อความไม่มี และปุ่มที่สามยังไม่สมบูรณ์แบบ แต่กล่องข้อความมีขนาดตัวอักษรที่สมบูรณ์แบบ)
ฉันจะตั้งค่าขนาดตัวอักษรตัวควบคุมสองอันในขณะที่ใช้งานได้อย่างไร เช่นเดียวกับคุณสมบัติ Button_fontSize และ textbox_fontSize
รหัส Usercontol XAML ของฉัน:
<Grid.Resources>
<Style x:Key="ButtonWithoutHover" TargetType="Button">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Name="border"
BorderThickness="3"
BorderBrush="White"
Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="Black" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<Border BorderBrush="White" BorderThickness="2" >
<DockPanel Canvas.Right="2" Canvas.Top="2">
<Button Style="{StaticResource ButtonWithoutHover}" BorderThickness="3" BorderBrush="White" DockPanel.Dock="Right" Click="onButtonClick" >
<Button.Content>
<Label Content="->" Foreground="White" />
</Button.Content>
</Button>
<TextBox BorderThickness="0" Name="txtNumber" DockPanel.Dock="Left" >
</TextBox>
</DockPanel>
</Border>
รหัส XMAL การใช้งาน:
<NumText:UserControl1 Click="UserControl1_Click" FontSize="9" Background="Red" Foreground="Yellow" Margin="160,46,206,229" />
<NumText:UserControl1 Click="UserControl1_Click" FontSize="20" Background="Red" Foreground="Yellow" Margin="121,104,173,145" />
<NumText:UserControl1 Background="Red" FontSize="36" Foreground="Yellow" Margin="121,180,173,69" />