TextBox
を拡張する単純なカスタムコントロールを作成したいとします。WPFカスタムコントロールが空白
私はAdd -> New Item... -> Custom Control
で作成し、自動的に生成されたコードを少し変更します。 CustomControl
の基底クラスをTextBox
に変更し、Template
セッターをTheme/Generic.xaml
というファイルで削除します。
ただし、MainWindow
に追加して実行すると空白になります。
ファイルTheme/Generic.xaml
:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Test">
<Style TargetType="{x:Type local:CustomControl}">
<Setter Property="BorderThickness" Value="10"/>
</Style>
</ResourceDictionary>
ファイルCustomControl.cs
:
namespace Test
{
public class CustomControl : TextBox
{
static CustomControl()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl), new FrameworkPropertyMetadata(typeof(CustomControl)));
}
}
}
問題は、あなたがコントロールを初期化するのを忘れたということです。 – macieqqq
カスタムコントロールを使用して、何を達成したいですか?スタイリングの目的では、スタイルを使用することができます。 - 継承上の構成。 –
@macieqqqそして初期化するには? – crupest