のViewModelは一方向モードが
namespace My.ViewModels
{
public class ItemViewModel : ObservableObject
{
private ItemModel _model;
public ItemViewModel(ItemModel model)
{
_model = model;
}
public string Name { get { return _model.Name; } }
}
}
XAML
<UserControl x:Class="My.Controls.ItemControl"
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:viewModels="clr-namespace:My.ViewModels"
mc:Ignorable="d"
d:DesignHeight="421" d:DesignWidth="786"
d:DataContext="{d:DesignInstance viewModels:ItemViewModel}">
<Grid Background="White">
<TextBlock><Run Text="Name:" /> <Run Text="{Binding Name, FallbackValue=Name, Mode=OneWay}" /></TextBlock>
</Grid>
</UserControl>
エラーを設定してもして読み取り専用のプロパティを読み取ることができません。私のViewModelから読み込み専用のプロパティ。 私はバインディングモードをOneWayに設定しましたが、それでもまだ上記のエラーがスローされます。 私は手がかりから外れています!どんな助けもありがとう。
あなたはこのプロパティにバインドする唯一の場所ですか? 'TextBlock'を完全にコメントアウトするとどうなりますか? – dymanoid
@Taelia、あなたのプロパティ "名前"にはセッターがありません。あなたがTwoWayをバインドすると、そのエラーが発生します。また、私が知っていることから、TextBlockを編集することはできません。 –
@dymanoid私は暗闇の中で撮影するあなたの能力に非常に驚いていて、やや恥ずかしいことは単純なものでした。私のコードの中のどこかには、Mode = Onewayを適用しなかった残りの参照がありました。ありがとうございました! – Taelia