我们正在尝试构建树视图结构(根据项目要求,它是必需的)。我们正在努力建立的是
A
---的 A1
------- A11
---------- A111
-------------------- LastItem
-------------------- LastItem
------- A12
---的 A2
乙
---的 B1
-------------------- LastItem
---的 B2
------的 B21
---------的 B211
------的 B22
---的 B3
C
---- LastItem
---- LastItem
在stackoverflow上搜索大多数人建议使用longlistview,因为没有树视图。 Expanderview完全符合我们的目的
但是当我们尝试添加Level4以外的项目时
XAML
给出了以下错误:
ArgumentException:值不在预期范围内。在 MS.Internal.XcpImports.CheckHResult(UInt32 hr)at MS.Internal.XcpImports.SetValue(IManagedPeerBase obj, DependencyProperty属性,Double d)at System.Windows.DependencyObject.SetValue(DependencyProperty属性, 双d)at Microsoft.Phone.Controls.ExpanderView.OnSizeChanged(Object sender, SizeChangedEventArgs e)at System.Windows.FrameworkElement.OnSizeChanged(Object sender, SizeChangedEventArgs e)在MS.Internal.JoltHelper.RaiseEvent(IntPtr) TARG
任何建议都将不胜感激!!!!有更好的控制可用吗?
示例XML(查找ERR。如果我们删除ERR工作正常)
<ScrollViewer>
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="10">
<StackPanel x:Name="sp1">
<toolkit:ExpanderView x:Name="A1" Header="A1" FontSize="40" >
<toolkit:ExpanderView.Items>
<toolkit:ExpanderView x:Name="A11" Header="A11" FontSize="40" >
<toolkit:ExpanderView.Items>
<Button FontSize="20" x:Name="A111" Content="A111" />
<Button FontSize="20" x:Name="A112" Content="A112"/>
<Button FontSize="20" x:Name="A113" Content="A113"/>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
<toolkit:ExpanderView x:Name="A21" Header="A21" FontSize="40" >
<toolkit:ExpanderView.Items>
<toolkit:ExpanderView x:Name="A211" Header="A212" FontSize="40" >
<toolkit:ExpanderView.Items>
<toolkit:ExpanderView x:Name="ERR" Header="ERR" FontSize="40" >
</toolkit:ExpanderView>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
<toolkit:ExpanderView x:Name="A212" Header="A212" FontSize="40" >
</toolkit:ExpanderView>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
<toolkit:ExpanderView x:Name="A2" Header="A2" FontSize="40" >
<toolkit:ExpanderView.Items>
<toolkit:ExpanderView x:Name="A21" Header="A21" FontSize="40" >
<toolkit:ExpanderView.Items>
<RadioButton x:Name="rdbtn_1" FontSize="20" Content="TEST1" Margin="0,-5" />
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
<toolkit:ExpanderView x:Name="A3" Header="A3" FontSize="40" />
<TextBlock x:Name="txt_result" Margin="0,20,0,0" TextWrapping="Wrap" FontSize="20"/>
</StackPanel>
</Grid>
</ScrollViewer>
</Grid>
答案 0 :(得分:2)
通过设置包含expandview控件项宽度可以最好地缓解此问题。不知何故,工具包库中的逻辑尝试将宽度设置为负数,框架防止负宽度。
注意下面代码中第3级扩展器视图中的“Width =”200“
修改后的代码应该有效
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel contains the name of the application and page title-->
<!--ContentPanel - place additional content here-->
<ScrollViewer>
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="10">
<StackPanel x:Name="sp1">
<toolkit:ExpanderView x:Name="A1" Header="A1" FontSize="40" >
<toolkit:ExpanderView.Items>
<toolkit:ExpanderView x:Name="A11" Header="A11" FontSize="40" >
<toolkit:ExpanderView.Items>
<Button FontSize="20" x:Name="A111" Content="A111" />
<Button FontSize="20" x:Name="A112" Content="A112"/>
<Button FontSize="20" x:Name="A113" Content="A113"/>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
<toolkit:ExpanderView x:Name="A221" Header="A21" FontSize="40" >
<toolkit:ExpanderView.Items>
<toolkit:ExpanderView x:Name="A211" Header="A212" FontSize="40" Width="200">
<toolkit:ExpanderView.Items>
<toolkit:ExpanderView x:Name="ERR" Header="ERR" FontSize="40" >
</toolkit:ExpanderView>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
<toolkit:ExpanderView x:Name="A212" Header="A212" FontSize="40" Width="200" >
</toolkit:ExpanderView>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
<toolkit:ExpanderView x:Name="A2" Header="A2" FontSize="40" >
<toolkit:ExpanderView.Items>
<toolkit:ExpanderView x:Name="A21" Header="A21" FontSize="40" >
<toolkit:ExpanderView.Items>
<RadioButton x:Name="rdbtn_1" FontSize="20" Content="TEST1" Margin="0,-5" />
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
</toolkit:ExpanderView.Items>
</toolkit:ExpanderView>
<toolkit:ExpanderView x:Name="A3" Header="A3" FontSize="40" />
<TextBlock x:Name="txt_result" Margin="0,20,0,0" TextWrapping="Wrap" FontSize="20"/>
</StackPanel>
</Grid>
</ScrollViewer>
</Grid>