लपेटकर नहीं मैं एक ListBox
जो StackPanel
एक TextBlock
और क्षैतिज एक Image
, एक ContentPresenter
के बाद पकड़े रों है की है।WP7 TextBlock अंदर एक ListBox पाठ
<Grid x:Name="ContentPanel"
Grid.Row="1"
Margin="12,0,12,0">
<ListBox x:Name="MainListBox"
Margin="12,0,12,0"
SelectionChanged="MainListBox_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu x:Name="ContextMenu"
Opened="ContextMenu_Opened">
<toolkit:MenuItem Header="edit"
Tag="edit"
Click="MenuItem_Click" />
<toolkit:MenuItem Header="delete"
Tag="delete"
Click="MenuItem_Click" />
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Left">
<!-- **** This text won't wrap **** -->
<TextBlock Text="{Binding Header}"
TextWrapping="Wrap"
Style="{StaticResource PhoneTextNormalStyle}"
Foreground="{StaticResource PhoneAccentBrush}" />
<Image Source="/image.png"
Visibility="{Binding ImageVisibility}" />
</StackPanel>
<ContentPresenter Content="{Binding Content}"
HorizontalAlignment="Stretch" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment"
Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Grid>
मैं पेज निर्माता के भीतर एक ObservableCollection
को ListBox
की ItemsSource
सेट कर रहा हूं: यह क्या XAML लग रहा है की तरह है। सब कुछ ठीक काम करता है जब तक Header
टेक्स्ट बहुत लंबा हो जाता है, इस स्थिति में यह लपेट नहीं रहा है जैसा कि मैंने इसे निर्दिष्ट किया है। पाठ को लपेटने के लिए मैं TextBlock
को कैसे मजबूर कर सकता हूं?
आपकी मदद के लिए धन्यवाद!
लेकिन क्या टेक्स्टव्रपिंग संपत्ति उस पर ध्यान नहीं देनी चाहिए? क्या इस समस्या को हल करने का कोई और तरीका है? उदाहरण के लिए, UIElements को पकड़ने के लिए StackPanels के बजाय ग्रिड का उपयोग करना। – Praetorian
मुझे यकीन नहीं है कि टेक्स्टव्रपिंग कैसे पता चलेगा कि क्षैतिज सीमा क्या है यदि यह किसी तरह से बाधित नहीं है। –
आप सही थे, मैंने 'टेक्स्ट चेंज' ईवेंट को 'टेक्स्टबॉक्स' में जोड़कर और पृष्ठ की चौड़ाई के आधार पर अपनी चौड़ाई सेट करके समस्या को ठीक किया। – Praetorian