我仍然有很多麻烦,以正确理解在Windows Phone 8.1上的XAML绑定和MSDN上的文件似乎并没有真正帮助我。c#在列表框中的XAML多重绑定
我有两个结构。一个填充ListBox
里面已经很好用的数据,它应该设置颜色,我不明白怎么做。
到目前为止我的代码看起来是这样的:
<ListBox x:Name="ListBox1" Margin="5" Width="Auto" Height="300" HorizontalAlignment="Left" ItemsSource="{Binding}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Border x:Name="BorderTap" BorderThickness="2" CornerRadius="15" Margin="0" Height="80" Width="Auto" VerticalAlignment="Top">
<Border.BorderBrush>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{Binding borderStart}" Offset="0"/>
<GradientStop Color="{Binding borderStart}" Offset="0.7"/>
<GradientStop Color="{Binding borderEnd}" Offset="1"/>
</LinearGradientBrush>
</Border.BorderBrush>
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{Binding boxStart}" Offset="0"/>
<GradientStop Color="{Binding boxStart}" Offset="0.7"/>
<GradientStop Color="{Binding boxEnd}" Offset="1"/>
</LinearGradientBrush>
</Border.Background>
<Grid>
<Image HorizontalAlignment="Left" Margin="2,0,0,0" Height="120" Width="120" VerticalAlignment="Top" Source="Assets/due.png" Stretch="Fill" Grid.Row="1" Opacity="0.4" />
<Grid>
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" Margin="0,0,0,0" Grid.RowSpan="2">
<StackPanel Width="30" HorizontalAlignment="Left" VerticalAlignment="Top" />
<StackPanel HorizontalAlignment="Left" Height="Auto" Margin="0,0,0,0" VerticalAlignment="Center" Width="Auto">
<Image HorizontalAlignment="Left" Height="51" Margin="0" Width="51" Source="Assets/fish.png" Stretch="Fill" RenderTransformOrigin="2.307,0.881" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Width="10" HorizontalAlignment="Left" VerticalAlignment="Top" />
<StackPanel HorizontalAlignment="Left" Height="80" Width="Auto" Margin="0" Orientation="Vertical">
<TextBlock HorizontalAlignment="Left" Height="Auto" Margin="0,20,0,0" TextWrapping="Wrap" Text="{Binding Name}" Width="Auto" VerticalAlignment="Top" FontSize="19" Foreground="Black" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Height="Auto" Margin="0" TextWrapping="Wrap" Text="{Binding URL}" Width="Auto" VerticalAlignment="Top" Foreground="#FF0097FF"/>
</StackPanel>
</StackPanel>
</Grid>
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
和structures
这样的:
public class ComboboxItem
{
public string Text { get; set; }
public object Value { get; set; }
public override string ToString()
{
return Text;
}
}
public class ColorContainer
{
public string boxStart { get; set; }
public string boxEnd { get; set; }
public string borderStart { get; set; }
public string borderEnd { get; set; }
public string firstEntry { get; set; }
public string secondEntry { get; set; }
}
如何设置的颜色?或者我在哪里定义它们并更新它们? 第二个问题:在那之后,我怎样才能选择一个值,然后从第三个结构中添加另一个信息?
感谢您在advande
感谢你,它的工作!这个绑定仍然让我非常困惑。 – user3079834 2014-09-30 19:54:56
现在它只是用宽度弄虚作假,它全部设置为自动,因此边框具有确切的宽度,“Image”和“TextBlock”使用该宽度。在没有进入'DataTemplate'环境的情况下进行测试时,一切正常。任何想法为什么发生这种情况 – user3079834 2014-09-30 20:01:20
@ user3079834看到我更新的答案。 – kennyzx 2014-10-01 09:57:55