开发者

Set MaxHeight of textblock embedded within data template of ListBox

开发者 https://www.devze.com 2023-03-23 19:16 出处:网络
how do i access a textblock inside a data template, within a ListBox & set the textblock\'s \'MaxHeight\'?

how do i access a textblock inside a data template, within a ListBox & set the textblock's 'MaxHeight'?

Code-behind as well?

I have @ Page.xaml:

     <ListBox ItemsSource="{Binding}" DataContext="" x:Name="NewsList" SelectionChanged="NewsList_SelectionChanged" SelectionMode="Single" Width="580" Height="360" VerticalAlignment="Top" HorizontalAlignment="Center" >
                                    <ListBox.ItemTemplate>
                                        <DataTemplate>                                       
                                                <!-- table within each ListBox item-->
                                                <!-- control horizontal scrollbar w width @ following line-->
                                                <Grid Height="110" Width="540">
                                                    <Grid.RowDefinitions>
                                                        <RowDefinition Height="15" />
                                                        <RowDefinition Height="*" />
                              开发者_Go百科                          <RowDefinition Height="15" />
                                                    </Grid.RowDefinitions>

                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="82"  />
                                                        <ColumnDefinition Width="*" />
                                                    </Grid.ColumnDefinitions>                                            

                                                    <Border CornerRadius="2" BorderThickness="2" BorderBrush="Gray" Height="82" Width="82" Background="LemonChiffon" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.RowSpan="3" Grid.Column="0" >                                                
                                                        <Image Source="{Binding NewsThumbnail}" Style="{StaticResource ThumbNailPreview}" />
                                                    </Border>
                                                    <TextBlock x:Name="NewsTitle" FontFamily="Arial" FontWeight="bold"  TextDecorations="Underline" Text="{Binding Title}"  Style="{StaticResource TitleText}" Grid.Row="0" Grid.Column="1"/>                                         

<!-- i wish to set the 'maxheight' of the following textblock instead of a fixed value of 65 -->                                                   
<TextBlock x:Name="StaffNewsBody" FontFamily="Arial" Text="{Binding NewsBody}" Style="{StaticResource DescriptionBlock}" Grid.Row="1" Grid.Column="1" MaxHeight="65" />

@ Page.xaml.cs:

//variable values taken from App.xaml.cs's method 'Application_Startup()'
public Page(string _setArticles, string _setLength)
{
    InitializeComponent();

    if (!string.IsNullOrEmpty(_setLength))
    {
        // if (_setLength.Contains("_3"))

      //  if (_setLength.Contains("_4"))

       // if (_setLength.Contains("_5"))
    }      
}    


There are several tutorials on the internet about how to access a control inside data template. You can google it you will find pages like this and this. Once you have located the control you want, you can play with it in any way you want and you can apply any change like Maximum Height

Update: See this, it is the simplest possible way to access a control inside DataTemplate

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号