C# 如何正确绑定列表框
我的Windows Phone应用程序,有一个从集合C# 如何正确绑定列表框,c#,xaml,data-binding,listbox,windows-phone,C#,Xaml,Data Binding,Listbox,Windows Phone,我的Windows Phone应用程序,有一个从集合produtos填充的列表框。此集合从JSON接收值 在我的列表框中,我“绑定”了JSON中的所有值(quantidade、descricao、valor_preco_a、codigo),以及另一个值(unidade),它应该是produtos.quantidade*produtos.valor_preco_a 我的列表框: <controls:PivotItem Header="Consulta" Name="consu
produtos
填充的列表框。此集合从JSON接收值
在我的列表框中,我“绑定”了JSON中的所有值(quantidade、descricao、valor_preco_a、codigo),以及另一个值(unidade),它应该是produtos.quantidade*produtos.valor_preco_a
我的列表框:
<controls:PivotItem Header="Consulta" Name="consultaCartao">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ListBox Name="List2" ItemsSource="{Binding produtosCartao}" HorizontalContentAlignment="Stretch" Grid.ColumnSpan="3" Margin="0,182,-66,0" Visibility="Collapsed">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Height="Auto">
<StackPanel.Background>
<SolidColorBrush Color="#FFE8FF00" Opacity="0.2"/>
</StackPanel.Background>
<TextBlock Grid.Column="0" Text="{Binding descricao}" TextWrapping="Wrap" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock Grid.Column="3" TextWrapping="Wrap" Style="{StaticResource PhoneTextSubtleStyle}" Margin="20,5,12,0">
<Run Text="{Binding quantidade}" />
<Run Text="{Binding unidade}" />
</TextBlock>
<TextBlock Grid.Column="3" Text="{Binding valor, ConverterCulture=pt-BR, StringFormat=C2}" TextWrapping="Wrap" Style="{StaticResource PhoneTextNormalStyle}" Margin="300,-30,12,0"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我正在尝试使用以下代码:
public ObservableCollection<produtos> produtosCartao { get; set; }
public class produtos
{
public double quantidade { get; set; }
public string descricao { get; set; }
public double valor_preco_a { get; set; }
public string codigo { get; set; }
public string unidade { get; set; }
public double valor { get; set; }
}
void webClient_DownloadStringCompletedProdutos(object sender, DownloadStringCompletedEventArgs e)
{
produtos produto = new produtos();
produto.valor = produto.valor_preco_a * produto.quantidade;
}
public observateCollection produtosCartao{get;set;}
公共类产品
{
公共双量化{get;set;}
公共字符串描述符{get;set;}
公共双valor_preco_a{get;set;}
公共字符串codigo{get;set;}
公共字符串unidade{get;set;}
公共双值{get;set;}
}
void webClient_downloadstringcompletedproduto(对象发送方,DownloadStringCompletedEventArgs e)
{
produtos produto=新produtos();
produto.valor=produto.valor_preco_a*produto.quantidade;
}
要在XAML中使用数据绑定,必须在列表框中设置DataContext属性
DataContext属性是xaml引擎查找以查找绑定值的对象
您应该查看一下数据正在正常绑定。但是
produtos.value
必须是其他两个值的连接。因此,在我的代码中,我必须执行produto.valor=produto.valor\u preco\u a*produto.quantidade
。是的,我理解,但是连接不应该是绑定的问题。那你有什么问题?该值未显示?显示的值为0,00。但是我知道这些值不是0。好的,那么试着像我前面说的那样设置DataContext。我认为这就是问题所在。很好,问题在于数据上下文。它现在对我很管用。谢谢你,兄弟