2016-03-02 38 views
0

我有一个没有包装的TextBlock,并且认为它具有无限宽度。我试图将它绑定到Grid和/或UserControl的实际宽度,但两个宽度都超过8000.我曾尝试在父视图中禁用Horizo​​ntalScrollBarVisibility,但这也不起作用。我也读过所有与我有关的问题,但似乎没有任何建议可行。TextBlock不包装Silverlight应用程序

<UserControl x:Class="Civica.UI.CurrentUserMenu.Views.ClassName" 
    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" 
    mc:Ignorable="d" 
    d:DesignHeight="300" 
    d:DesignWidth="1200"> 

    <UserControl.Resources> 
     <ResourceDictionary> 
      <SolidColorBrush x:Key="SeparatorBrush" Color="#66848484" /> 
     </ResourceDictionary> 
    </UserControl.Resources> 

    <Grid> 
     <ScrollViewer x:Name="Viewer" BorderThickness="0" Grid.Column="1" Grid.Row="1" Margin="0,0,0,0" Padding="0" 
          VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" 
          HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
          HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"> 
      <Grid Background="White" HorizontalAlignment="Left" x:Name="UserControl"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="*"/> 
       </Grid.RowDefinitions> 

       <Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource SeparatorBrush}" Grid.Row="0"> 
        <TextBlock Text="Text" Margin="0" FontWeight="Black" /> 
       </Border> 

       <TextBlock Margin="5" Text="{Binding TextProperty}" TextWrapping="Wrap" Grid.Row="1"/> 
      </Grid> 
     </ScrollViewer> 
    </Grid> 
</UserControl> 

编辑:

这是父视图的代码:

<UserControl x:Class="Civica.UI.Ribbon.Views.ViewName" 

      d:DataContext="{d:DesignInstance Type=ViewMOdelName}" 
      d:DesignHeight="120" 
      d:DesignWidth="600" 
      mc:Ignorable="d"> 

    <Grid ScrollViewer.HorizontalScrollBarVisibility="Disabled">  
     <telerik:RadRibbonView x:Name="RadRibbon" 
           Title="Title" 
           ApplicationButtonContent="Content" 
           ApplicationMenu="{Binding PropertyName}" 
           ApplicationName="{Binding PropertyName}" 
           MinimizeButtonVisibility="Visible" 
           SelectionChanged="SelectionChanged" ScrollViewer.HorizontalScrollBarVisibility="Disabled"/> 
     </Grid> 
</UserControl> 

它是一个包含所述第一视图的RadRibbonView。

+0

嗯,它在Grid和ScrollViewer里面,它会得到它想要的所有宽度。例如,您需要限制其大小,并在其上设置MaxWidth。 – icebat

+0

如果我硬编码的最大宽度,它包装,但我希望它与屏幕动态调整大小。 – Dayana

+0

我想这取决于你的UserControl所在的位置。我复制了你的代码,并且它正确包装。 – icebat

回答

0

该问题是由父视图,特别是Telerik对象应用的风格。解决方案是找到这种风格,反编译并将其复制到我们的某个文件中,然后将scrollviewer更改为边框。