クエリの実行に使用されているWebパーツ内にユーザーコントロールがあります。ユーザーコントロールは、結果の数に応じて、特定のポイントまで高さを増やすことができます。これにより、ユーザーコントロールのヘッダーが表示可能領域の外に押し出される可能性があります。
ユーザーコントロールの位置を取得し、Y座標が負の場合、Y座標が正の値になるようにユーザーコントロールを移動します。
この投稿のコードを使用して、ユーザーコントロールの位置を取得しています: UIElementの位置を決定する
しかし、今は自分の位置にいるので、ユーザーコントロールを移動する方法がわかりません。使ってみuserControl.SetValue(Canvas.TopProperty, 15.0)
ましたが効果がありませんでした。
これを行う別の方法はありますか?
助けてくれてありがとう!
編集:XAML抽出が追加されました
<UserControl x:Class="Gazetteer.Search"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
mc:Ignorable="d"
d:DesignHeight="336" d:DesignWidth="342" BorderBrush="{x:Null}">
<Grid x:Name="LayoutRoot" Background="#FFE2E2E2" MinHeight="80" MinWidth="280">
<StackPanel Margin="10">
<StackPanel Margin="10" Orientation="Horizontal">
<RadioButton x:Name="townlandRB" Margin="5" Checked="radioBtnCheck"
GroupName="Search Type" Content="Townland" />
<RadioButton x:Name="sitecodeRB" Margin="5" Checked="radioBtnCheck"
GroupName="Search Type" Content="Site Code" />
</StackPanel>
</StackPanel>
</Grid>