2017-07-31 4 views
0

UWPアプリを開発していて、新しいユーザーコントロールを作成しました。コントロールのコードの後ろに(データコンテキストなしで)依存プロパティにバインドしたいと思います。背後にUWPコントロールをコードビハインドプロパティにバインドする

コード:

public Brush Fill 
{ 
    get { return (Brush)GetValue(FillProperty); } 
    set { SetValue(FillProperty, value); } 
} 

// Using a DependencyProperty as the backing store for Fill. This enables animation, styling, binding, etc... 
public static readonly DependencyProperty FillProperty = 
    DependencyProperty.Register("Fill", typeof(Brush), typeof(MyControl), new PropertyMetadata(new SolidColorBrush(Colors.Black))); 

XAML:私は私の道のfillプロパティは、背後にあるコードからプロパティFillに結合し、私ができるように、(データコンテキストが異なるデータを保持する必要があることを望ん

... 
<Grid> 
    <Path Fill="{Binding ????}" Stretch="Fill"> 
     ... 
    </Path> 
</Grid> 

ここで使用しないでください)

UWPでどうすればいいですか?

答えて

0

x:Bindこれで完璧に動作します。注:x:Bindは、XAMLのコードビハインドで定義された&イベントのプロパティを検索します。それはElementNameよりも演奏拘束力があります。

<Path Fill="{x:Bind Fill, Mode=OneWay}" /> 
0

通常のWPFと同様に、バインディングのElementNameプロパティを使用してデータコンテキストを回避する必要があります。プロパティは、あなたがXを経由して名前を割り当てる必要がありますユーザーコントロールの一部である場合

:限り、それは

<UserControl [...] x:Name="Control"...` 

その後{Binding ElementName=Control, Path=Fill}ようなものを使用アクセスするにはXAMLでユーザーコントロールに名前塗りつぶしは、ユーザーコントロールのプロパティです。

関連する問題