Я создал пользовательский элемент управления с именем EllipsisTextBlock с DependencyProperty, целью которого является получение значения свойства другого элемента управления:
public static readonly DependencyProperty CopyTextBlockWidthProperty =
DependencyProperty.Register("CopyTextBlockWidth", typeof(double), typeof(EllipsisTextBlock),
new PropertyMetadata(0d, null));
В родительской сетке EllipsisTextBlock я связываю свойство другого элемента управления следующим образом:
<Grid Margin="10,0,0,0" Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" MaxHeight="84"/>
<RowDefinition Height="Auto" MaxHeight="72"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*" MaxHeight="120"/>
</Grid.RowDefinitions>
<TextBlock x:Name="tbxTeste" Text="{Binding Title}" FontSize="28" Visibility="Collapsed" Grid.Row="0"></TextBlock>
<extensions:EllipsisTextBlock Text="{Binding Title}" FontSize="28" TextWrapping="Wrap" CopyTextBlockWidth="{Binding Path=ActualWidth, ElementName=tbxTeste}" Grid.Row="0"></extensions:EllipsisTextBlock>
...
Что происходит, так это то, что для свойства EllipsisTextBlock CopyTextBlockWidth установлено значение никогда .
public double CopyTextBlockWidth
{
get { return (double)GetValue(CopyTextBlockWidthProperty); }
set { SetValue(CopyTextBlockWidthProperty, value); }
}
Кстати, у класса EllipsisTextBlock есть два других DependencyProperties, которые работают.
Есть идеи?
Спасибо