1

現在、ListBox をカスタマイズしています。これは、1 つの listItem に image-element、2 番目の line-element などを追加することを意味します。

itemSource は C# のリストであるため、Expression Blend/VS のアイテムのプレビューはありません。そして、それが痛みです。

常に XAML を編集してからデプロイして確認する必要があるためです。そして、これは最後のピクセルが正しくなるまで続きます。

Blend/VS でカスタム アイテム (動的 itemSource を使用) を使用して ListBox を編集する方法はありませんか?

それは私の開発を本当に速くします。

4

2 に答える 2

1

設計時にコントロールがどのように見えるかを確認したい場合は、SampleData を使用する必要があります。それを行うにはいくつかの方法がありますが、フレームワークによって異なります。

MainPage.xaml という名前のページがあるとします。ビュー モデルがまだない場合は、新しいモデルを作成し、MainViewModel.cs という名前を付けます。バインドに使用されるすべてのパブリック プロパティを定義します。ビュー モデルを作成したら、SampleData という名前のフォルダーに新しいファイルを作成し、MainViewModelSampleData.xaml という名前を付けます。

ここで、MainPage.xaml で次の属性をページ要素に追加します。

d:DataContext={d:DesignData Source=SampleData/MainViewModelSampleData.xaml}

また、MainViewModelSampleData.xaml の Build Action を DesignData に設定します。

ここで、MainPage にデータを表示する場合は、サンプル データ ファイルですべてのプロパティを定義する必要があります。例えば:

// view model contains public properties Title of type string and Children of type
// PersonViewModel which contains properties Name and Age (string and int respectively)
<local:MainViewModel xmlns:local="clr-namespace:myapp"
                     Title="Title">
    <local:MainViewModel.Children>
        <local:ChildViewModel Name="John" Age="31" />
    </local:MainViewModel.Children>
</local:MainViewModel>

デザイン ビューに、データが埋め込まれたページが表示されるはずです。このように MVVM を使用すると、モック データをすばやく作成できます。これにより、アプリケーションを実行しなくても、既存のデータに基づいてビューを設計できます。

次のリンクで詳細をお読みください。

于 2013-03-19T12:44:59.667 に答える
0

私は今それを行う方法を知っています。この問題に遭遇した場合は、次のようにします。

itemtemplate の stackpanel に記述したすべての XAML をコピーします。

<ListBox.ItemTemplate>
   <DataTemplate>
       <StackPanel>
             //...
       </StackPanel>
   </DataTemplate>
</ListBox.ItemTemplate>

それをコピーして<ListBox> //Here </ListBox> 、デザイナーで編集できます。

完了したら、コードをコピーして StackPanel に戻します。

于 2013-03-19T12:30:52.423 に答える