私は、xaml-filesランタイムをロードしてランタイムデータにバインドしたいと考えていました。私はこのような「PropertySetter」と呼ばれるコンポーネントを使用することになり、これらのXAML-ファイル内 :ランタイムにバインドされたXAML
public class PropertySetter : UserControl
{
public string Value { get; set; }
public string Text { get; set; }
public string Adress { get; set; }
public PropertySetter()
{
}
}
そしてxamlfile、次のようになります。
<Grid
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vf="clr-namespace:VisualFactory.vfGraphics.Graphics;assembly=VisualFactory">
<vf:PropertySetter Name="Datapoint" Text="propset" Value="false" Adress="10201" />
<CheckBox IsChecked="{Binding ElementName=Datapoint, Path=Value}" Content="{Binding ElementName=Datapoint, Path=Text}" />
</Grid>
私はあなたが今ではポイントを得る願っています。 このチェックボックスは、値(content、ischecked)をプロパティセットにバインドし、アプリケーションが実行されると、単に "PropertySetter"の束の値を変更し、グラフィックスはその内容と値を更新します。 しかし、xamlはロード時に値を正しく設定していますが、プロパティセットの値を変更すると値が更新されません。私はMode = TwoWayを設定しようとしており、propertysettersはiNotifyコレクションに入っています。 誰もこれの前に何かを試したことがありますか?
こんにちはAbdouThankが答えましたが、私はすでに役に立たなかったのです。 – Filip
私はここで答えを見つけました:http://www.wpftutorial.net/DependencyProperties.html#creation 私はちょうどpropertysetterクラスのDependencyProperty – Filip
ああ! XAMLの値を設定していて、質問を読んで忘れてしまっただけで、変更の通知をしていないことが分かりましたので、これは本当に問題です。しかし、なぜXAMLで作成される 'PropertySetter'が必要なのでしょうか(私もそのコメントを追加しようとしていました) – AbdouMoumen