xaml
コントロールテンプレート
サーチ…
コントロールテンプレート
WPFコントロールの既定のユーザーインターフェイスは、通常、他のコントロールと図形から構成されます。たとえば、ButtonはButtonChromeコントロールとContentPresenterコントロールの両方で構成されます。 ButtonChromeは標準的なボタンの外観を提供し、ContentPresenterはContentプロパティで指定されたボタンのコンテンツを表示します。コントロールのデフォルトの外観は、アプリケーションの全体的な外観に合わないことがあります。この場合、ControlTemplateを使用して、コントロールの内容と動作を変更せずにコントロールのユーザーインターフェイスの外観を変更できます。
XAML
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SDKSample.ControlTemplateButtonWindow"
Title="Button with Control Template" Height="158" Width="290">
<!-- Button using an ellipse -->
<Button Content="Click Me!" Click="button_Click">
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<Grid Margin="5">
<Ellipse Stroke="DarkBlue" StrokeThickness="2">
<Ellipse.Fill>
<RadialGradientBrush Center="0.3,0.2" RadiusX="0.5" RadiusY="0.5">
<GradientStop Color="Azure" Offset="0.1" />
<GradientStop Color="CornflowerBlue" Offset="1.1" />
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
<ContentPresenter Name="content" HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
</Window>
C#コード
using System.Windows;
namespace SDKSample
{
public partial class ControlTemplateButtonWindow : Window
{
public ControlTemplateButtonWindow()
{
InitializeComponent();
}
void button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hello, Windows Presentation Foundation!");
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow