前提・実現したいこと
C# WPFで簡単なエディターを製作しています。
TabControl上にテキストボックスを配置したコントロールを使っています。
TabControl上のテキストボックスを編集した後別タブに切り替えて当該タブを
もう一度選択すると編集した内容がクリアされ、初期の文字列が表示されてしまいます。
Tabcontrol上の情報を保持する方法はありますか?
発生している問題・エラーメッセージ
TabControl上のテキストボックスの編集内容が保持されません。
ViewModelは独自で定義したTabItemクラスを持つObservableCollectionです。
該当のソースコード
TabControlのビューモデル
private static ObservableCollection<TabItem> _Tabs { get; set; } = new ObservableCollection<TabItem>();
public static ObservableCollection<TabItem> Tabs
{
get
{
return _Tabs;
}
set
{
_Tabs = value;
}
}
TabControlのビュー
<Grid>
<TabControl x:Name="Tab" ItemsSource="{Binding}" DataContext="{Binding}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Header}">
<Button Content="×" Margin="5,5,0,0" BorderThickness="0" Background="Transparent" Command="{Binding ExecuteCmd}" CommandParameter="{Binding TabID}"/>
</TextBlock>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBox Text="{Binding Contents, Mode=TwoWay}"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</Grid>
試したこと
補足情報(FW/ツールのバージョンなど)
visual studio Community 2019
.NET FrameWork 4.7.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/20 08:52
2020/07/20 09:09
2020/07/20 09:21
2022/09/17 04:48 編集