ウィンドウのTopプロパティとLeftプロパティの値をバインドしたいと思います。私はvalueconverterとvalueconverterパラメータ(正確には:私は私のウィンドウのdatacontextが必要です)を使用する必要があります、unfortunatelly私の値のコンバータが見つかりませんエラーを取得しています。ウィンドウのプロパティに値コンバーターを使用することは可能ですか?
<Window x:Class="Proofing_Tool.wwwww"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:Proofing_Tool"
xmlns:conv="clr-namespace:Proofing_Tool.ValueConverters"
mc:Ignorable="d"
Height="180"
MinHeight="50"
Width="340"
SizeToContent="Height"
AllowsTransparency="True"
WindowStyle="None"
Background="{x:Null}"
OpacityMask="White"
Name="AnomalyWindow"
Title="Anomaly Details"
ResizeMode="NoResize"
Left="{Binding ., Converter={StaticResource ValueConverterAnomalyToLeft},ConverterParameter={x:Reference Name=AnomalyWindow}}"
Top="{Binding ., Converter={StaticResource ValueConverterAnomalyToTop},ConverterParameter={x:Reference Name=AnomalyWindow}}">
<Window.Resources>
<conv:ValueConverterAnomalyToLeft x:Key="ValueConverterAnomalyToLeft" />
<conv:ValueConverterAnomalyToTop x:Key="ValueConverterAnomalyToTop" />
</Window.Resources>
EDITは、一部の下に、値を更新して問題がうまく機能:背後
<TextBlock Grid.Column="1" Text="{Binding Ano.Name, Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"/>
コード:
public Anomaly Ano
{
get { return _ano; }
set
{
_ano = value;
NotifyPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
一度だけ更新されます
リソース宣言をApp.xamlのApplication.Resourcesに移動します。ウィンドウのDataContextをコンバーターに渡すにはMultiValueConverterでMultiBindingを使用します。ここでは、子バインディングの1つは「 」です。 –
Clemens
Unfortunatelly、VSTO/Winformsアプリケーション内でWPFコントロールをホストしているため、App.xaml内に宣言を入れることができません – buks