選択したアイテムの合計値を表示しようとしています。選択したアイテムはListViewにあります。項目の値はリストに表示されますが、項目の合計値がテキストボックス内に表示されます。私のコードは以下の通りです:ListViewの列を追加する方法
Basket.xaml
private static ObservableCollection<Menu.PassedData> passedData = new ObservableCollection<Menu.PassedData>();
private double totalValue;
public double TotalValue
{
get { return totalValue; }
set
{
totalValue = value;
OnPropertyChanged("TotalValue");
}
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Menu.PassedData data = e.Parameter as Menu.PassedData;
if (data != null) //If data is not 0
{
PassedData.Add(data); //Increment data in list view
double tempTotalValue = 0;
foreach (var record in PassedData)
{
tempTotalValue = tempTotalValue + record.Value;
}
TotalValue = tempTotalValue;
}
}
}
値はしたがって、基本的Value列を追加
<ListBox x:Name="listBox1" HorizontalAlignment="Left" Height="265" Margin="278,175,0,0" VerticalAlignment="Top" Width="112">
<ListView x:Name="PriceView" ItemsSource="{Binding PassedData}" HorizontalAlignment="Left" VerticalAlignment="Center">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<!--<TextBox Grid.Column="0" Text="{Binding Name}" IsReadOnly="True" /> !-->
<TextBox Grid.Column="1" Text="{Binding Value}" IsReadOnly="True" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ListBox>
(Basket.xaml)に格納されているリストリストビューで入力し、テキストボックスに表示します。
お返事ありがとうございます。私はあなたの答えを実装していますが、私はアプリを実行するときに、アイテムを追加するアイテムの数に関係なく、合計テキストブロックは静的にしか表示されません。質問は更新されます。 –
'Basket'クラスは' INotifyPropertyChanged'インターフェースを実装していますか? – SteppingRazor
それは何ですか? –