2017-07-13 5 views
-1

私は2つのプロイエクトを持つC#のソリューションを持っています。最初のproyectは2番目のproyectを呼び出し、そのバインディングの値(EstadoVisibleTeclado)を使用します。wpfで2つのバインディングをどのように関連付けるか#

しかし、この値をラベルに使用したい場合、それは訴えません。

public String EstadoVisibleTeclado 
     { 
      get { return _estadoVisibleTeclado; } 
      set 
      { 
       _estadoVisibleTeclado = value; 
       this.OnPropertyChanged("EstadoVisibleTeclado"); 
      } 
     } 

、これのコンストラクタで:第二のproyectで

<Label Grid.Column="0" Visibility="{Binding EstadoVisibleTeclado}" Grid.Row="2" HorizontalAlignment="Left" VerticalAlignment="Center" FontWeight="Bold" FontSize="30" Width="AUTO" Content="Dirección" Margin="0,8,0,9"/> 

私はこの方法のDataContextのに使用するプロパティを書いています:最初のproyectに例えば

、 way:

public Teclado() 
    { 
     InitializeComponent(); 
     EstadoVisibleTeclado = "Collapsed"; 
     this.DataContext = this; 
    } 

誰かがproyects間のバインディングを共有する方法を知っていますか?このような

誰か:

Visibility="{PROYECT2.NAMEXAML.Binding EstadoVisibleTeclado}" 

よろしく。

+0

XAMLでバインディングを参照することはできません。 'Proyect2.NAMEXAML ...'。ビジュアルツリーまたは現在のアセンブリからコントロールオブジェクトを明示的に検索する必要がある場合は、該当するコントロールのVisibilityプロパティを探します。私はあなたがプロジェクト間でこれらのタイプの依存関係を持つべきではないので、何らかの形でデザインを変更する必要があると感じています。 –

+0

また、コントロールからDataContextを抽出してプロパティを取得する必要があります。これは非常に面倒です。 –

+0

私はwpfで仮想キーボードproyectをダウンロードして使用しました。私は自分のソリューションにproyectをインポートしました。問題は、キーボードを表示したいときです。キーボールのcsファイルに "EstadoVisibleTeclado"という名前のプロパティを追加しました。このようにしてキーボードを呼び出した後、ボタンで閉じた後、値が変更され、プロットの値が変更されて視界に変わります。それは1つの値だけです、私の意図は、テキストボックス内のテキストに関連する文字列で行います。 –

答えて

0

Estadivisibleecladoは文字列であってはなりません。

+0

こんにちは。なぜそれを言うのですか?私はラベルのプロパティ "コンテンツ"に挿入されたブール型で型Stringを変更しましたが、何も起こりません。 –

+0

可視性はEnum型です。文字列またはブール値ではありません。 –

+0

私はこの方法のプロイクトと呼ばれる可視性プロパティを使用しました: ' これは機能します。私はそれが問題だとは思わない。私は、最初のxamlには2番目のバインディングを呼び出すための解決策が必要です。 –

関連する問題