TextBox と Rectangle を表示しようとしていますが、どちらも別のクラスで Color プロパティを示しています。私は Caliburn.Micro と MVVM のアプローチを使用しています (私はこれが初めてです)。
私の問題は、 TextBox がデフォルトで Color.ToString を書き込むことですが、 Rectangle は同じ Color で塗りつぶされません。実際、四角形は常に見えません。それを埋める方法は?
XAML ビューからの抽出:
<TextBox Grid.Row="7" Grid.Column="1" Margin="10,7,20,7"
Text="{Binding Path=Design.EdgeHighlightOutOfRangeColor}"
FontSize="12" FontFamily="Rockwell" Width="110" HorizontalAlignment="Left"/>
<Rectangle Grid.Row="7" Grid.Column="1" Width="20" Height="20" Margin="100,7,20,7">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=Design.EdgeHighlightOutOfRangeColor}"/>
</Rectangle.Fill>
</Rectangle>
C# ViewModel から抽出:
_designSettings = _settings.DesignSettings;
public DesignSettings Design
{
get { return _designSettings; }
set
{
_designSettings = value;
NotifyOfPropertyChange(() => Design);
}
}
DesignSettings クラス内で、次のプロパティをバインドします。
public Color EdgeHighlightOutOfRangeColor { get; set; }