मैं `ve हाल ही में एक WPF (सी/4.0) डेटा ग्रिड के भीतर काम कर टेक्स्ट रैपिंग पाने के लिए कोशिश कर रहा है, और कोई बात नहीं है जो समाधान मैं लागू (सभी रैपिंग के साथ एक टेम्पलेट के अंदर TextBlock के कुछ फार्म का उपयोग करें) यह confuses ग्रिड की ऑटो ऊंचाई और ग्रिड के नीचे अत्यधिक सफेद जगह (दृश्यता के लिए पीला सेट करें) में परिणाम।WPF डेटा ग्रिड AutoSize अंक
मेरे कोड: (टिप्पणी की कोड टेक्स्ट रैपिंग के लिए वैकल्पिक समाधान है, लेकिन अभी भी अत्यधिक अंतरिक्ष में जो परिणाम)
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<DataGrid Grid.Row="0" AutoGenerateColumns="False" ColumnWidth="*" Name="dgFamilyHistories" IsReadOnly="True"
HorizontalScrollBarVisibility="Disabled"
ItemsSource="{Binding Path=Patient.FamilyHistories}" RowDetailsVisibilityMode="Visible"
GridLinesVisibility="All">
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Height" Value="Auto"/>
</Style>
<!--<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border Name="border">
<ContentControl Content="{TemplateBinding Content}">
<ContentControl.ContentTemplate>
<DataTemplate>
<DockPanel>
<TextBlock TextWrapping="WrapWithOverflow" TextTrimming="CharacterEllipsis"
Width="Auto" Height="Auto" Text="{Binding Text}"/>
</DockPanel>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>-->
</DataGrid.Resources>
<DataGrid.Background>
<SolidColorBrush Color="Yellow" />
</DataGrid.Background>
<DataGrid.Columns>
<DataGridTextColumn Header="Date" Binding="{Binding DateEntered, StringFormat={}{0:dd/MM/yyyy}}" Width="85"/>
<!--<DataGridTextColumn Header="Relation" Binding="{Binding Relation}"/>-->
<DataGridTemplateColumn Header="Relation">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Text="{Binding Path=Relation}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--<DataGridTextColumn Header="Illness" Binding="{Binding Illness}"/>-->
<DataGridTemplateColumn Header="Illness">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Text="{Binding Path=Illness}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--<DataGridTextColumn Header="Health" Binding="{Binding Health}"/>-->
<DataGridTemplateColumn Header="Health">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Text="{Binding Path=Health}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Birth Date" Binding="{Binding DateOfBirth, StringFormat={}{0:dd/MM/yyyy}}" Width="85"/>
<DataGridTextColumn Header="Death Date" Binding="{Binding DateOfDeath, StringFormat={}{0:dd/MM/yyyy}}" Width="85"/>
<!--<DataGridTextColumn Header="Death Cause" Binding="{Binding CauseOfDeath}"/>-->
<DataGridTemplateColumn Header="Death Cause">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Text="{Binding Path=CauseOfDeath}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Age" Binding="{Binding Age}" Width="50"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<Label Name="lblDetails" Content="{Binding Path=Comments}" ContentStringFormat="{}Comments: {0}" Margin="15,0,0,0"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=Comments, Converter={Converters:IsNullStringConverter}}" Value="True">
<Setter TargetName="lblDetails" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
<DockPanel Grid.Row="1" Background="Blue">
</DockPanel>
</Grid>
यह समाधान काम करता है करने के लिए सेट WrapColumn है के लिए बदल जाता है के लिए एक श्रोता जोड़े, लेकिन ऑटो आकार फ्लो दस्तावेज़ के साथ प्रिंट करते समय भी उलझन में आता है। यदि प्रवाह दस्तावेज़ आकार बदलता है तो इसकी ऊंचाई सही ढंग से प्रदर्शित होती है लेकिन सभी कॉलम squished हैं। –
देखा गया कि आपने इसे मंजूरी दे दी और कुछ देर बाद इसे अस्वीकार कर दिया, इसलिए मुझे लगा कि कुछ गेंद नहीं खेल रहा था। तो कॉलम न्यूनतम चौड़ाई के साथ समाप्त होता है या प्रभाव क्या होता है? –
बहुत अधिक, मूल रूप से मैं ग्रिड ले रहा हूं और इसे एक फ्लो दस्तावेज़ में डाल रहा हूं जिसे मैं प्रिंट कर रहा हूं। अनिवार्य रूप से क्या होता है कि जैसे ही प्रवाह दस्तावेज़ एक पृष्ठ से अधिक हो जाता है, उस पर पहला डेटाग्रिड गड़बड़ हो जाता है। (समग्र ग्रिड सही चौड़ाई है और इसलिए हेडर हैं, लेकिन पैर के अंगूठे की कोशिकाओं सभी बाईं ओर squished रहे हैं। बीमार कोशिश करते हैं और एक स्क्रीन शॉट पोस्ट। –