का उपयोग करके स्क्रॉलव्यूर में स्क्रॉलबार के लिए मार्जिन सेट करने के लिए मुझे स्क्रॉलबार में स्क्रॉलबार का मार्जिन सेट करने की आवश्यकता है। मैं डिफ़ॉल्ट स्क्रॉलव्यूअर शैली में स्क्रॉलबार मार्जिन को फिर से लिखने का प्रयास करता हूं। बस स्टाइल में मार्जिन को संशोधित करें, और स्क्रॉलबार मैगिन सही मान सेट करें। लेकिन स्क्रॉलबार में सामग्री स्क्रॉलबार चलते समय स्थिर रहती है। मैं इसे कैसे ठीक कर सकता हूं या स्क्रॉलव्यूअर में स्क्रॉलबार के लिए मार्जिन सेट करने का कोई और तरीका आसान है?xaml केवल
<Style TargetType="ScrollViewer">
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="VerticalContentAlignment" Value="Top" />
<Setter Property="VerticalScrollBarVisibility" Value="Visible" />
<Setter Property="Padding" Value="4"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFA3AEB9" Offset="0"/>
<GradientStop Color="#FF8399A9" Offset="0.375"/>
<GradientStop Color="#FF718597" Offset="0.375"/>
<GradientStop Color="#FF617584" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ScrollViewer">
<Border CornerRadius="2" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<Grid Background="{TemplateBinding Background}">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ScrollContentPresenter x:Name="ScrollContentPresenter"
Cursor="{TemplateBinding Cursor}"
Margin="{TemplateBinding Padding}"
ContentTemplate="{TemplateBinding ContentTemplate}"/>
<Rectangle Grid.Column="1" Grid.Row="1" Fill="#FFE9EEF4"/>
<ScrollBar x:Name="VerticalScrollBar" Width="18"
IsTabStop="False"
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
Grid.Column="1" Grid.Row="0" Orientation="Vertical"
ViewportSize="{TemplateBinding ViewportHeight}"
`enter code here` Maximum="{TemplateBinding ScrollableHeight}"
Minimum="0"
Value="{TemplateBinding VerticalOffset}"
Margin="0,20,0,0"/>
<ScrollBar x:Name="HorizontalScrollBar" Height="18"
IsTabStop="False"
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
Grid.Column="0" Grid.Row="1" Orientation="Horizontal"
ViewportSize="{TemplateBinding ViewportWidth}"
Maximum="{TemplateBinding ScrollableWidth}"
Minimum="0"
Value="{TemplateBinding HorizontalOffset}"
Margin="-1,0,-1,-1"/>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
यह काम करता है! आपका बहुत बहुत धन्यवाद। बीटीडब्लू, स्क्रॉलबार को "PART_VerticalScrollBar" के रूप में क्यों नामित किया जाना चाहिए? यदि मैं स्क्रॉलबार के नाम को संशोधित करता हूं तो स्क्रॉलव्यूअर में सामग्री स्थिर रहती है। – Dragon
यह कुछ वर्ग टेम्पलेट विशेषता को दिया गया मानक नाम है। [विवरण] के लिए यहां देखें (https://msdn.microsoft.com/en-us/library/System.Windows.Controls.ScrollViewer%28v=VS.110%29.aspx) – jsanalytics