Ứng dụng của tôi sẽ chạy trên máy tính có sceens cảm ứng, do nhân viên cảnh sát điều hành trong khi lái xe. Tôi đang làm cho tất cả các yếu tố đồ họa lớn hơn để chúng có thể được vận hành bởi những người có ngón tay xúc xích như của tôi và lớn hơn.Thay đổi kích thước của hộp kiểm và dấu kiểm trong đó
Tôi có một Hộp kiểm cần xuất hiện trên màn hình. Tôi cần phải mở rộng kích thước của hộp kiểm và dấu kiểm lớn hơn. Tôi đã thử chỉnh sửa mẫu cho Checkbox trong Expression Blend bằng cách nhấn chuột phải và chọn Edit Tempate | Chỉnh sửa bản sao. Tôi thiết lập bản sao để nó sẽ áp dụng cho tất cả các hộp kiểm.
Tôi đã có thể làm cho hộp lớn hơn theo mẫu có chiều cao là & thuộc tính chiều rộng cho ActualHeight của điều khiển. Tuy nhiên, dấu kiểm không phát triển do đó và ở góc trên bên trái. Nó không có vẻ đúng, để nói rằng ít nhất.
Khi tôi thay đổi nội dung mẫu, đây là XAML tôi trở:
<Style TargetType="{x:Type CheckBox}">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="Background" Value="{StaticResource CheckBoxFillNormal}"/>
<Setter Property="BorderBrush" Value="{StaticResource CheckBoxStroke}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="FocusVisualStyle" Value="{StaticResource EmptyCheckBoxFocusVisual}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<BulletDecorator Background="Transparent" SnapsToDevicePixels="true">
<BulletDecorator.Bullet>
<Microsoft_Windows_Themes:BulletChrome BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" IsChecked="{TemplateBinding IsChecked}" RenderMouseOver="{TemplateBinding IsMouseOver}" RenderPressed="{TemplateBinding IsPressed}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="{TemplateBinding ActualHeight}" Height="{TemplateBinding ActualHeight}"/>
</BulletDecorator.Bullet>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</BulletDecorator>
<ControlTemplate.Triggers>
<Trigger Property="HasContent" Value="true">
<Setter Property="FocusVisualStyle" Value="{StaticResource CheckRadioFocusVisual}"/>
<Setter Property="Padding" Value="4,0,0,0"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Expression Blend sẽ không cho phép tôi ecit mẫu của BulletChrome. Các tùy chọn Chỉnh sửa Hiện tại và Chỉnh sửa Bản sao bị tắt.
Làm cách nào để hoàn thành những gì tôi muốn làm?
Tony
Những trang trên MSDN này ** không ** cung cấp cho bạn các mẫu mặc định nhưng các ví dụ được tạo sẵn. ([Xem phần này để mặc định] (http://stackoverflow.com/questions/1559261/control-template-for-existing-controls-in-wpf)) –
@ H.B. Cảm ơn, tôi không biết rằng những ví dụ đó không phải là mặc định. Điều đó sẽ giải thích một số mâu thuẫn mà tôi đã nhận thấy với họ. – Stewbob
Sau khi thảo luận với ông chủ của tôi, tôi sẽ tiếp tục tùy biến hơn nữa. Anh ta muốn các hộp kiểm tra trông giống các nút Radio hơn, không tròn. Anh ta muốn một đường viền sau đó được lấp đầy với một màu tối của một kích thước khá để dễ nhìn. Vì nó là, các dấu kiểm tra là quá dễ dàng để bỏ lỡ trong khi bạn đang lái xe. Làm cho chúng nổi bật là quan trọng. –