2017-06-13 3 views
0

私は自分の名前空間でユーザーコントロールの束を持っている:カスタムスタイルのコンボボックス

<ui:CustomTextboxWithDescription 
     Description="TestProperty2" 
     Text="{Binding TestProperty2}" /> 

<ui:CustomCheckBoxWithDescription 
     Description="test" 
     Value="{Binding BooleanTestProperty}" /> 

私はリソースディクショナリにコンボボックスのスタイルを作成し、このようにそれを使用しています

<ComboBox Style="{StaticResource StyleComboBox}"> 
    <ComboBoxItem>test1</ComboBoxItem> 
    <ComboBoxItem>test2</ComboBoxItem> 
</ComboBox> 

今、私はそのimplizitスタイルで、このコンボボックスには、このような「UI」-namespaceに表示する:

<ui:ComboBox> 
    <ComboBoxItem>test1</ComboBoxItem> 
    <ComboBoxItem>test2</ComboBoxItem> 
</ui:ComboBox> 

これをユーザーコントロールでラップすることなく簡単に行う方法はありますか?

+0

はどこでスタイルを宣言したのですか? App.xamlの中にありますか? –

+0

いいえ、この場合には独自のリソース辞書 –

+0

を持っていますので、人間は ' 'が何であるかを理解するのが簡単です(したがって、_implicitly_という単語)。しかし、コンパイラは明示的に伝える必要があります。 – kennyzx

答えて

0

ユーザーコントロールでラップすることなく、これを行う簡単な方法はありますか?

私が正しくあなたを理解していれば、あなただけの名前空間のマッピングを作成することができます。

<ResourceDictionary ... xmlns:ui="clr-namespace:System.Windows.Controls;assembly=PresentationFramework"> 

<ui:ComboBox>...</ui:ComboBox> 
+0

あなたがしていることは、すべてのコントロールのマッピングですが、私はコンボボックスがほしいと思っています.... –

+0

それはどのような違いがありますか?あなたは他のコントロールの前にui:を書く必要はありません。 – mm8

+0

私はプラグインフレームワークに取り組んでいます。他のプラグインプログラマは、 "ui"名前空間のコントロールを使用する必要があります。したがって、wpfコントロールがすべてあるべきではありません。 –

関連する問題