DataGrid 内の列の幅をアプリケーション設定プロパティにバインドしようとしています。バインドが OneWay モードに設定されている場合はこれが機能しますが、アプリを閉じたときに列の幅に基づいて設定を更新する必要があります。バインド モードを TwoWay に変更すると、バインドがすべて壊れてしまいます。私のコードは以下のとおりです。これを達成するにはどうすればよいですか?
拡張クラス
Public Class SettingBindingExtension
Inherits Binding
Public Sub New()
Initialize()
End Sub
Public Sub New(ByVal path As String)
MyBase.New(path)
Initialize()
End Sub
Private Sub Initialize()
Me.Source = MySettings.[Default]
'OneWay mode works for the initial grid load but any resizes are unsaved.
Me.Mode = BindingMode.OneWay
'using TwoWay mode below breaks the binding...
'Me.Mode = BindingMode.TwoWay
End Sub
End Class
xaml
xmlns:w="clr-namespace:Stack"
<DataGrid>
...
<DataGridTextColumn Header="STACK"
Width="{w:SettingBinding StackColumnWidth}"/>
...
</DataGrid>