【发布时间】:2010-05-19 15:56:49
【问题描述】:
我正在使用 C# 和 Silverlight 开发一个 GIS 网站,我正在尝试根据地图图层填充一个 ListBox。如果我将所有内容集中在一个 XAML 文件中(其中 Map 定义在同一个文件中),则该代码有效,但我试图将事物分成单独的类,并且 ListBox 不会填充到另一个类中。
XAML 代码..
<CheckBox IsChecked="{Binding Visible, Mode=TwoWay}" />
<Slider Margin="-5,0,0,0" Minimum="0" Maximum="1" Width="30"
Value="{Binding Opacity, Mode=TwoWay}" Height="18" />-->
<TextBlock Text="{Binding ID, Mode=OneWay}" Margin="5,0,0,0" >
<ToolTipService.ToolTip>
<StackPanel MaxWidth="400">
<TextBlock FontWeight="Bold" Text="{Binding CopyrightText}" TextWrapping="Wrap" />
<TextBlock Text="{Binding Description}" TextWrapping="Wrap" />
</StackPanel>
</ToolTipService.ToolTip>
</TextBlock>
</StackPanel>
</DataTemplate>
当这个 C# 代码调用该类时正在设置 myMap...
公共部分类 TableOfContents : UserControl { 映射我的地图;
public TableOfContents(ref Map map)
{
InitializeComponent();
myMap = map;
foreach (Layer thisLayer in myMap.Layers)
{
layerList.Items.Add(new TextBlock() { Text = thisLayer.ID });
}
}
}
foreach 语句为所有地图图层添加了 TextBlocks(这只是测试代码),所以我知道信息传递正确,但 XAML 中定义的数据绑定似乎不起作用。
有什么想法吗?
编辑: XAML 代码似乎被剪辑在帖子中(尽管在我编辑它时它是可见的)。数据绑定定义为: ItemsSource="{Binding Path=Layers, ElementName=myMap}
【问题讨论】:
标签: silverlight xaml listbox