2009-03-16 3 views
1

目標は、列の表示/非表示/移動/サイズ変更、レイアウトの保存、およびアプリケーションの再起動時の復元をユーザーに許可することです。 最初に私がどのようにしているか教えてください。 GridView.Columnsで、私はCollectionChangedに、各Column.With依存関係プロパティにもアタッチします。いずれかのイベントが発生すると、XML設定ファイルに保存する独自の文字列に、列の順序、可視性、幅を保存します。 これはかなり手作業であるようですが、Columnsレイアウトを保存するための既存のコンポーネントやプラクティスが人気がありますか?WPFのListView列レイアウトを保持するためのベストプラクティス

+0

を。しかし_a_ solutionのこの(古い)記事を参照してください。 http://www.wpfsharp.com/2012/04/10/saving-the-gridview-column-order-in-wpf/基本的には、保存したい情報のヘルパークラスを宣言し、シリアライズ可能とマークし、XmlSerializerそれらを便利なファイルに出し入れすることができます。 –

答えて

2

XAMLに列を保存できますか?クイックテストの後、関連情報を保存するように見えました。私はこれを開始しました:

<GridView> 
    <GridView.Columns> 
     <GridViewColumn Header="First Name" DisplayMemberBinding="{Binding FirstName}"/> 
     <GridViewColumn Header="Last Name" DisplayMemberBinding="{Binding LastName}"/> 
     <GridViewColumn Header="Age" DisplayMemberBinding="{Binding Age}"/> 
    </GridView.Columns> 
</GridView> 

といくつかのサイズを変更し、移動した後、私はGridView.ColumnsXamlWriter.Saveと呼ばれ、このなった:はい、私はこれは古い記事ですけど

<GridViewColumnCollection xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> 
    <GridViewColumn Width="108.51" DisplayMemberBinding="{Binding Path=FirstName}">First Name</GridViewColumn> 
    <GridViewColumn DisplayMemberBinding="{Binding Path=Age}">Age</GridViewColumn> 
    <GridViewColumn Width="83.8533333333333" DisplayMemberBinding="{Binding Path=LastName}">Last Name</GridViewColumn> 
</GridViewColumnCollection> 
+0

これは良い答えです。私の唯一の予約は、復元しようとすると、あなたのバインディングとキャプションを上書きするということでしょう。 –

+0

あなたは正しいです。私はあなたの既存の文字列メソッドがうまくいると思ういくつかの主要なプロパティを格納するために探している場合。列をXAMLとして保存することは、核の選択肢の一種です。 –

関連する問題