2010-08-16 2 views
1
<StackPanel Name="mypanel"> 
    <ScrollViewer Height="{Binding ElementName=mypanel, Path=ActualHeight}"> 

나는 Height = mypanel.ActualHeight-60이 필요합니다.StackPanel의 ScrollViewer

어떻게하면됩니까?

편집 :

<StackPanel Name="mypanel"> 
    <ContentControl Content="{Binding HeaderPart}" /> <= here must be Expander 
    <ScrollViewer Height="{Binding ElementName=mypanel, Path=ActualHeight, Converter={StaticResource HeightConverter}}" > 
     <StackPanel> 
     </StackPanel> 
    </ScrollViewer> 

Expander이없는, 모두가 노력하고 있습니다. Expandermypanel.ActualHeight 일 때 HeightAdjustmentConverter = 0입니다.

무슨 일이 일어 났습니까?

답변

1

당신은 ActualHeight에 소요 새로운 그 값을 뺀 60

뭔가처럼 반환하는 IValueConverter 작성해야합니다.

[ValueConversion(typeof(double), typeof(double))] 
public class HeightAdjustmentConverter: IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     double original = (double)value; 
     return double - 60; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     double adjusted = (double)value; 
     return adjusted + 60; 
    } 
} 
+0

오, 감사 = ^을^= – Kira

+0

XAML 그것에서 이게 어때? Kira

+0

@Kira 네, 실제로 정적 리소스를 만들 어딘가에 선이있을 것입니다. –

관련 문제