C# 如何使WPF工具包图表随内容扩展?
我正在尝试从C# 如何使WPF工具包图表随内容扩展?,c#,wpf,charts,wpftoolkit,C#,Wpf,Charts,Wpftoolkit,我正在尝试从DotNetProjects.Wpf.Toolkit创建一些条形图,这些条形图显示一些数据汇总,尽管数据在运行时可能会更改。问题是我无法使图表适合内容的大小-我总是必须提供一个固定的值(并且设置Height=“Auto”不起作用),但我不知道运行时需要什么大小。我该怎么做才能使我的图表符合内容,而不是相反 我的XAML代码如下所示: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/prese
DotNetProjects.Wpf.Toolkit
创建一些条形图,这些条形图显示一些数据汇总,尽管数据在运行时可能会更改。问题是我无法使图表适合内容的大小-我总是必须提供一个固定的值(并且设置Height=“Auto”
不起作用),但我不知道运行时需要什么大小。我该怎么做才能使我的图表符合内容,而不是相反
我的XAML代码如下所示:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Movie_Vault"
xmlns:Controls="clr-namespace:System.Windows.Controls;assembly=DotNetProjects.Layout.Toolkit" xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit" x:Class="Movie_Vault.frmStatistics"
mc:Ignorable="d"
Title="frmStatistics" Style="{StaticResource RoundedFormStyle}" WindowStartupLocation="CenterOwner">
<Border Style="{StaticResource WindowBorderStyle}">
<DockPanel x:Name="OuterPanel" >
<Border Style="{StaticResource PanelBorderStyle}" DockPanel.Dock="Top">
<DockPanel x:Name="TopPanel" HorizontalAlignment="Stretch" VerticalAlignment="Top">
<Image Height="16" Margin="8,4,8,4" Source="Images/process.png"/>
<TextBlock Style="{StaticResource MediumFont}"><Run Text="Statistics"/></TextBlock>
<DockPanel DockPanel.Dock="Right" HorizontalAlignment="Right" VerticalAlignment="Center">
<Button x:Name="btnClose" Content="X" Style="{StaticResource MicroButtonStyle}" Margin="0,0,8,0" Click="btnClose_Click"/>
</DockPanel>
</DockPanel>
</Border>
<Border Style="{StaticResource PanelBorderStyle}" DockPanel.Dock="Left" Margin="0,8,0,0">
<DockPanel VerticalAlignment="Top" >
<ScrollViewer VerticalScrollBarVisibility="Auto" Height="400" Width="500">
<Grid Name="panelTopGenres">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<toolkit:Chart Name="chartTopGenres" Title="Top Genres" VerticalAlignment="Top"
Margin="16,16,16,8" Padding="8" Background="White" >
<toolkit:BarSeries DependentValuePath="Value" IndependentValuePath="Key"
ItemsSource="{Binding}"
IsSelectionEnabled="False" Background="White"/>
</toolkit:Chart>
<Button Grid.Row="1" x:Name="btnTopGenresToggle" Style="{StaticResource SmallButtonStyle}"
Content="Show All Genres" Width="120"
Margin="16,0,4,4" HorizontalAlignment="Left" Click="btnToggle_Click" />
</Grid>
</ScrollViewer>
</DockPanel>
</Border>
</DockPanel>
</Border>
</Window>
我该怎么做才能使我的图表符合内容,而不是相反
清除任何堆叠面板
:
<Grid Name="panelTopGenres">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<toolkit:Chart Name="chartTopGenres" Title="Top Genres" VerticalAlignment="Top"
Margin="16,16,16,8" Padding="8" Background="White" >
<toolkit:BarSeries DependentValuePath="Value" IndependentValuePath="Key"
ItemsSource="{Binding}"
IsSelectionEnabled="False" Background="White"/>
</toolkit:Chart>
<Button Grid.Row="1" x:Name="btnTopGenresToggle" Style="{StaticResource SmallButtonStyle}"
Content="Show All Genres" Width="120"
Margin="16,0,4,4" HorizontalAlignment="Left" Click="btnToggle_Click" />
</Grid>
StackPanel
不会调整其子面板的大小。对我不起作用,它仍然会将所有数据压缩到默认高度而不展开。网格的父面板是什么?请记住在提问时始终包含。好的,我已经更新了我的原始帖子,以显示整个窗口的代码。但是,无论我如何构造代码,我似乎仍然无法使图表大小正确。也许我需要一个自定义的数据模板
,但我看到的示例看起来很复杂,我不知道要更改哪些位。