0
사용자 지정 컨트롤 작업 중입니다.멀티 바인드 종속성 속성 문제가 발생했습니다.
다음과 같이 세 가지 종속성이 있습니다. 컨트롤 높이, 너비 및 사용자가 제공하는 범위에 따라 값을 계산해야하고 사용자 지정 컨트롤에 표시해야합니다.
이 세 값을 모두 바인딩 할 수있는 다중 바인딩을 사용하려고 시도하고 다중 값 변환기가 에 대한 계산을 수행하고 적절한 값을 반환합니다.
문제는이 값을 스타일에서 다중 값 변환기 바인딩으로 바인딩하지 못한다는 것입니다.
종속성 속성 :
public static readonly DependencyProperty ControlHeightProperty =
DependencyProperty.Register("ControlHeight", typeof(double), typeof
(TestControl), new PropertyMetadata(150D));
public double ControlHeight
{
get { return (double)GetValue(ControlHeightProperty); }
set { SetValue(ControlHeightProperty, value); }
}
public static readonly DependencyProperty ControlWidthProperty =
DependencyProperty.Register("ControlWidth", typeof (double), typeof
(TestControl), new PropertyMetadata(default(double)));
public double ControlWidth
{
get { return (double) GetValue(ControlWidthProperty); }
set { SetValue(ControlWidthProperty, value); }
}
public static readonly DependencyProperty RangeProperty =
DependencyProperty.Register("Range", typeof (double), typeof
(TestControl), new PropertyMetadata(default(double)));
public double Range
{
get { return (double) GetValue(RangeProperty); }
set { SetValue(RangeProperty, value); }
}
스타일 (내가 작성하지 않은 바인딩) : 나는 ElementName에 바인딩을 사용하여 을 할 수있는 것보다 속성이 같은 스타일을 사용할 수있는 경우. 하지만이 경우에는 높이와 너비가 다를 수 있습니다. 그러나 범위 내 스타일로 바인드 할 필요가 직접 종속성 속성이 입니다
는누군가가 나를 도울 수
<TextBlock Grid.Row="1">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource
CalculateConverter}">
<Binding Path=""></Binding>
<Binding Path=""></Binding>
<Binding Path=""></Binding>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
(내 말은 더는 내가 바인딩 ElementName을 수행 할 수있는 방법은 없습니다)?
감사 & 감사합니다,