Hi. Im trying to create a DataFormDataField for comments. The requirements are that the textbox needs to accept return, wrap and always show 3 lines no matter the ammount of text.
my first attempt i came up with the following
<telerik:DataFormDataField x:Name="Comm"
Label="Comments"
LabelPosition="Above"
Width="355"
Canvas.Left="10"
Canvas.Top="61">
<TextBox Height="50"
AcceptsReturn="True"
TextWrapping="Wrap"
Text="{Binding BIGCOMMENTS, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding IsReadOnly, ElementName=Comm, Mode=OneWay}"
VerticalContentAlignment="Top"
TabIndex="18" />
</telerik:DataFormDataField>
works nice until you need to resize, it gets a bit wonky. second attempt was to modify the template in blend.
<ControlTemplate x:Key="WBDataFormMultiLineDataField"
TargetType="{x:Type telerik:DataFormDataField}">
<Border x:Name="PART_RootElement"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
CornerRadius="{DynamicResource {x:Static telerik:Office2016ResourceKey.CornerRadius}}"
UseLayoutRounding="True">
<Grid x:Name="PART_DataFormDataFieldGrid"
Margin="{TemplateBinding Padding}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="24" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ContentControl x:Name="PART_Label"
ContentTemplate="{TemplateBinding LabelTemplate}"
Content="{TemplateBinding Label}"
Foreground="{TemplateBinding Foreground}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
IsTabStop="False"
Margin="4,0"
VerticalAlignment="Center"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
<TextBox x:Name="PART_ContentPresenter"
Grid.Column="1"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Grid.Row="1"
Text="{Binding DataMemberBinding, RelativeSource={RelativeSource TemplatedParent}}"
VerticalAlignment="Stretch"
AcceptsReturn="True"
TextWrapping="Wrap"
VerticalContentAlignment="Top"
TabIndex="18" />
<Grid x:Name="DescriptionIcon"
Background="Transparent"
Grid.Column="2"
HorizontalAlignment="Center"
Margin="4,0,0,0"
Grid.Row="1"
VerticalAlignment="Center">
<Grid.ToolTip>
<ToolTip Content="{TemplateBinding Description}" />
</Grid.ToolTip>
<Grid.Visibility>
<Binding Path="Description"
RelativeSource="{RelativeSource TemplatedParent}">
<Binding.Converter>
<dataForm:DescriptionVisibilityConverter />
</Binding.Converter>
</Binding>
</Grid.Visibility>
<TextBlock Foreground="{DynamicResource {x:Static telerik:Office2016ResourceKey.IconBrush}}"
FontWeight="Normal"
FontStyle="Normal"
FontSize="16"
FontFamily="/Telerik.Windows.Controls;component/Themes/Fonts/TelerikWebUI.ttf#TelerikWebUI"
HorizontalAlignment="Center"
Margin="1,0,0,0"
Text=""
VerticalAlignment="Center"><Run Text="" /></TextBlock>
</Grid>
</Grid>
</Border>
</ControlTemplate>
I basically replaced the content presenter (which was showing a text box) with an acutal textbox. this works much better in terms of resizing, however i lose functionality for 'DataMemberBinding', which i need.
Any ideas to an ideal solution?