2016-10-27 9 views
1

拡張機能を持つWPF TextBoxのクラスライブラリ(dllファイル)を作成します。しかし、私はTextBoxのデフォルトスタイル(IsMouseOverプロパティトリガ)の一部を変更したいと思います。TextBoxコントロールを拡張し、既定のスタイルの一部を変更します。

新しいWPFユーザーコントロールライブラリプロジェクトを作成し、そこから生成された.XAMLと.csファイルを削除し、新しいクラスファイルを追加しました。その後、私はTextBoxクラスから派生しましたが、スタイルXAMLへのアクセス方法はわかりません。

私はこれが行われることになっ方法を見つけ出すことはできません。..

私のプロジェクトインサイド私は現在、これだけがファイルを.CS持っていない、と何の.xamlファイル:あなたが行うことができます

namespace CustomControls 
{ 
    public class CustomTextBox : TextBox 
    { 
     private string customProperty; 
     public string CustomProperty 
     { 
      get { return customProperty; } 
      set { customProperty = value; } 
     } 
    } 
} 
+0

TextBoxを使用してデザイナーが右クリックして[テンプレートの編集] - > [コピーの編集]を選択し、テンプレート内で変更する必要があるものを変更した場合、それは簡単でしょうか。 – adminSoftDK

+0

はい、私はカスタムテキストボックスに含めるコードの背後にある他の機能を持っています。わかりやすく私はここには含めなかった。私は組み合わされたコードとスタイルの変更機能を使って再利用可能なコントロールをしたい。とにかく、私が望んでいたようなdllライブラリでこれができるかどうかは分かりますか? – moonlander

+0

確かに、新しいUserControlを追加し、CustomTextBoxに名前を付けて、それをTagBoxに置き換えてください。この時点から、あなたのコードにはアクセスできます。私はこれをカスタムコントロールよりもずっと簡単に見つけました。 – adminSoftDK

答えて

2

public partial class CustomTextBox : TextBox 
{ 
    public CustomTextBox() 
    { 
     InitializeComponent(); 
    } 
} 
背後にあるこの

<TextBox x:Class="CustomControls.MyFolder.CustomTextBox" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

</TextBox> 

コードのようなもの

これで、xaml(テンプレートの編集、スタイルの適用など)で何をしたいのですが、コードの背後からアクセスできます。

+0

ありがとうございます!それはまさに私が望んでいたものです。 – moonlander

+0

私は助けてうれしいです:) – adminSoftDK

+0

残念ながら私はこれを試し、xamlは、別のプロジェクトにDLLをインポートするときにコントロールには影響しません。 – moonlander

関連する問題