2013-03-26 60 views
1

我新的WPF,我有一個問題:導出XAML用戶控件

在我的項目,我通常使用許多用戶控件,這是從我的「基地」用戶控件派生,有一些功能繼承我所有的用戶控件。

與WPF(推導是一樣的winforms)是否有可能導出XAML?我希望創建一個包含XML名稱空間的頭文件和重要的UserControl.Resources文件。

可能嗎?

在此先感謝

+2

不,XAML定義的'UserControl's不能被繼承到其他XAML定義的控件中,發佈你需要的一些截圖的例子,我們可以告訴你在WPF中實現它的正確方法。順便說一句,忘記你在winforms中學到的所有東西。 WPF是一項嚴肅的技術,不需要在winform中做任何事情所需的可怕數量的黑客。 – 2013-03-26 23:50:20

回答

2

如果你希望在你的用戶控件共享資源,把它們放在一個樣式針對用戶控件的基本類型。要讓這些資源在整個應用程序中可訪問(並應用),請在App.xaml中定義它們。

您可以定義它們在你的基地型的Style

<Style TargetType={x:Type YourBaseType}> 
    <Style.Resources> 
     <!-- define your resources here --> 
    </Style.Resources> 
</Style> 

或者,你可以將它們應用到所有的用戶控件(可能不建議):

<Style TargetType={x:Type UserControl}> 
    <Style.Resources> 
     <!-- define your resources here --> 
    </Style.Resources> 
</Style> 

如果你尋找派生視覺方面,再次使用樣式,在App.config定義中應用Setters。如果需要的話,這些可以由特定實例「超載」。也看看ControlTemplate