當我在WPF中創建自定義控件並將其添加到窗口時,我沒有看到任何將它放在對話框中的地方。下面是我在做什麼:WPF自定義控件不可見
- 創建一個新的WPF應用程序
- 添加 - >新項... - >自定義控制(WPF): 「CustomButton.cs」
- 我改變的CustomButton基地類到按鈕而不是控件
- 將CustomButton控件添加到我的主窗口。
- 當我運行應用程序或在設計器中查看主窗口時,我什麼都看不到。
下面是代碼的樣子。
CustomButton.cs:
public class CustomButton : Button
{
static CustomButton()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomButton),
new FrameworkPropertyMetadata(typeof(CustomButton)));
}
}
MainWindow.xaml:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" xmlns:my="clr-namespace:WpfApplication1">
<Grid>
<my:CustomButton Content="Hello World" x:Name="customButton1"
HorizontalAlignment="Left" VerticalAlignment="Top" Margin="150,175,0,0" />
</Grid>
</Window>
Generic.xaml:
<Style TargetType="{x:Type local:CustomButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:CustomButton}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我發現兩條引線,以這是怎麼回事,但沒有點擊。當我添加自定義控件時,Visual Studio添加了Themes/Generic.xaml,但無論我在那裏嘗試什麼,我都看不到屏幕上的差異。另一件事是,如果我在CustomButton.cs中註釋掉靜態構造函數,突然間在主窗口中顯示按鈕。它在所有情況下看起來都不是很正確,但是(就像我在工具欄中使用按鈕一樣)。
你是對的,當我刪除它出現。就像我說的那樣,它增加了Generic。看起來像它有自定義控件模板的xaml。我已經將這一點添加到了主要問題中。 – Jason
它看起來不像模板:)它只會繪製一個(可能是空的)邊框。 – Jeff
另外,它聽起來並不像你想在這裏做一個自定義控件......你呢?看起來你只是想要一個Button的自定義子類。 – Jeff