0

ボタンをクリックするとリストピッカーを1つずつ追加したいのですが、リストピッカーまでのコントロールは、リストピッカーを追加するたびに下に移動する必要があります。アイデアを教えてください。

リストピッカーを作成するための XAML コード。

   <toolkit:ListPicker Grid.Row="0"  Margin="5,76,226,-52" x:Name="list" ItemTemplate="{StaticResource PickerItemTemplate}" ItemCountThreshold="3"
                            FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}"   FullModeHeader="Select your Monthly Debts:" SelectedIndex="2"  CacheMode="BitmapCache"
                            FontFamily="Arial Black" FontSize="32" FontWeight="ExtraBlack"/>

C# コード:

   List<payment> source = new List<payment>();
        source.Add(new payment() { Name = "Car Payment" });
        source.Add(new payment() { Name = "Credit UnionLoan" });
        source.Add(new payment() { Name = "Spousal Support" });
        source.Add(new payment() { Name = "Child Support" });
        source.Add(new payment() { Name = "Visa" });
        source.Add(new payment() { Name = "MasterCard" });
        this.list.ItemsSource = source;

支払いクラス ファイル:

using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace NewUIChanges
{
public class payment
{
    public string Name
    {
        get;
        set;
    }
}
}
4

2 に答える 2

1

他のコントロールと同様に、ListPickers を UI に動的に追加できます。

また、他のコントロールを下に移動するという他の要件については、上に示した ListPicker XAML コードを少し変更することをお勧めします。

<StackPanel x:Name="StackPanelListPickers" Grid.Row="0">
<toolkit:ListPicker  Margin="5,76,226,-52" x:Name="list" ItemTemplate="{StaticResource PickerItemTemplate}" ItemCountThreshold="3"
                        FullModeItemTemplate="{StaticResource PickerFullModeItemTemplate}"   FullModeHeader="Select your Monthly Debts:" SelectedIndex="2"  CacheMode="BitmapCache"
                        FontFamily="Arial Black" FontSize="32" FontWeight="ExtraBlack"/>
</StackPanel>

次に、ListPickers を追加するコード ビハインドで次の操作を行います。

//Generate a dynamic listpicker
ListPicker lp = new ListPicker() { Name = "List2" };
lp.Template = this.Resources["PickerItemTemplate"] as ControlTemplate;
lp.FullModeItemTemplate = this.Resources["FullModeItemTemplate"] as DataTemplate;
//And all other properties of "lp" as you need ..I am not writing all here

//Now add this new Listpicker to the stackpanel which is the child of the Grid
this.StackPanelListPickers.Children.Add(lp);
于 2012-08-21T14:36:08.187 に答える
0

ListPicker を作成し、ObservableCollection へのバインディングを使用できます。

ObsarvableCollection の利点は、変更がビューで自動的に更新されることです。詳細については、 MSDNを参照してください。また、stackoverflow.com/questions/9745279もご覧ください。

于 2012-08-21T14:04:13.880 に答える