2012-12-14 2 views
0

Silverlight 5 애플리케이션 한 개를 작업하고 있습니다.동적으로 컨트롤을로드하는 동안 TextWrapping이 작동하지 않습니다.

우리는 gridspliter 컨트롤을 사용하여 2 개의 메인 패널을 유연하게 만듭니다. xaml의 첫 번째 패널에서 textblock을 사용하고 그 옆에 gridspliter를 설정하면 제대로 작동합니다.

그러나 textblock의 TextWrapping 뒤에있는 코드를 통해 동일한 텍스트 블록을 추가하는 것이 적절하게 작동하지 않습니다.

우리는 우리가 그와 함께 하나 개의 이미지를 추가 할 필요가로 뒤에 코드에서 같은 추가 한 모든 데이터를 동적으로 제공 : 이유 이유가 있나요

<StackPanel x:Name="stkRelatedEntity" Grid.Column="0" Grid.Row="1"> 

HyperlinkButton hyltest = new HyperlinkButton(); 
StackPanel stk = new StackPanel(); 
stk.Orientation = Orientation.Horizontal; 
Image RImage = new Image(); 
if (relatedEntity.Image != null) 
{ 
    RImage.Source = Common.GetBitMap((byte[])relatedEntity.Image); 
    RImage.Height = 16; 
    RImage.Width = 16; 
} 


TextBlock RText = new TextBlock(); 
RText.Text = relatedEntity.DisplayNameN; 
RText.TextWrapping = TextWrapping.Wrap;       
RText.MaxWidth = 250; 
RText.MinWidth = 10; 

stk.Children.Add(RImage); 
stk.Children.Add(RText); 
hyltest.Content = stk; 
stkRelatedEntity.Children.Add(hykInfo); 

답변

1

:

아래 코드 찾기 이것은 코드에 의해 생성됩니까? ItemsSource (text/image/link를 표시하는 클래스의 ObservableCollection)와 함께 ContentControl을 사용한 다음 항목 레이아웃 용 ItemTemplate과 StackPanel로 ItemPanel을 배치 할 수 있습니까?

그것은 당신이 찾고있는 무엇을하지 않을 수 있습니다,하지만 난 XAML이 같은 상상 :

<ItemsControl ItemsSource="{Binding Path=MyItems}"> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Horizontal" /> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
       <HyperlinkButton Content="{Binding Path=LinkToShow}" /> 
       <TextBlock Text="{Binding Path=TextToShow}" TextWrapping="Wrap" /> 
       <Image Source="{Binding Path=ImageToShow}" /> 
      </Grid> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

내가 "SomeClass"입니다 내가 ObservableCollection에이 모델/코드를 상상 무엇이든지 링크, 이미지 및 텍스트를 보여줄 수 있습니다. 이 컬렉션은 ItemsControl의 ItemsSource에 바인딩됩니다.

이것이 프로젝트에서 재사용 할 수 있는지 확실하지 않지만 데이터를보다 명확하게 표시하는 방법 인 것으로 확신합니다.

관련 문제