1 सामग्री फिट करने के लिए WPF टूलकिट चार्ट का विस्तार कैसे करें?

पर बनाया गया सवाल Thu, Mar 28, 2019 12:00 AM

मैं 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>
    
0
1 उत्तर                              1                         
  

मैं अपने चार्ट को अन्य तरीके के बजाय सामग्री को फिट करने के लिए क्या कर सकता हूं?

किसी भी StackPanels से छुटकारा पाएं:

<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>

A StackPanel अपने बच्चों का आकार परिवर्तन नहीं करता है।

    
1
2019-03-29 13: 36: 22Z
  1. मेरे लिए काम नहीं किया, यह अभी भी बिना विस्तार के डिफ़ॉल्ट ऊंचाई में सभी डेटा को कुचल देता है।
    2019-03-30 10: 11: 36Z
  2. Grid का मूल पैनल क्या है? कृपया याद रखें कि प्रश्न पूछते समय हमेशा MCVE शामिल करें।
    2019-04-01 07: 39: 18Z
  3. OK, मैंने पूरी विंडो के लिए कोड दिखाने के लिए अपनी मूल पोस्ट अपडेट कर दी है। लेकिन हालाँकि मैं अपने कोड की संरचना करता हूँ, फिर भी मुझे ठीक से आकार देने के लिए Chart नहीं मिल सकता है। शायद मुझे एक कस्टम DataTemplate की आवश्यकता है, लेकिन मैंने जिन उदाहरणों को जटिल देखा है और मैं उन्हें बदलने के लिए बिट्स नहीं जानता हूं।
    2019-04-01 09: 09: 06Z
स्रोत रखा गया यहाँ