SilverLight?
「dayGrid」として宣言したGridコントロールがあります。
for (int i = 1; i < 28; i++)
{
//dayGridコントロール縦方向分割
RowDefinition row = new RowDefinition();
row.MinHeight = 30;
row.MaxHeight = 50;
dayGrid.RowDefinitions.Add(row);
}
for (int i = 1; i < 28; i++)
{
//TextBlockコントロール作成
TextBlock tb = new TextBlock();
tb.Name = "tb" + i.ToString();
tb.Text = i.ToString();
//Borderコントロール作成
Border textBorder = new Border();
textBorder.Name = "textborder" + i.ToString();
//TextBlockコントロールをBorderに追加
textBorder.Child = tb;
textBorder.BorderBrush = new SolidColorBrush(Colors.Blue);
textBorder.BorderThickness = new Thickness(0, 0, 0, 1);
textBorder.Cursor = System.Windows.Input.Cursors.Hand;
//Borderコントロールは分割したGridの行に所属させる
textBorder.SetValue(Grid.RowProperty, (i - 1));
//BorderコントロールをdayGridに追加
dayGrid.Children.Add(textBorder);
}
borderの右下の処にPopupコントロールを表示させたい場合、次のソースコードのように、設定できます。
GeneralTransform transform = border.TransformToVisual(Application.Current.RootVisual); Point point = transform.Transform(new Point(0, border.ActualHeight)); this.detailPopup.VerticalOffset = point.Y - 20; this.detailPopup.HorizontalOffset = point.X + 20;
App.xaml.csファイルの「App」クラスの「Application_Startup」イベントからよみこめます。 ソースコード例(ひどいコードを書いてます。):
private void Application_Startup(object sender, StartupEventArgs e)
{
object obj = e.InitParams.["setting1"]
}
HTML 側の設定例:
<object data="data:application/x-silverlight-2,"
type="application/x-silverlight-2" style="height: 262px; width: 55%">
<param name="source" value="ClientBin/Calendar.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="4.0.50401.0" />
<param name="autoUpgrade" value="true" />
<param name="initParams" value="setting1=1,setting2=2" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Microsoft Silverlight の取得" style="border-style:none"/>
</a>
</object>
System.Windows.Browser名前空間を利用します。
HtmlDocument htmlDoc = HtmlPage.Document;
HtmlElement htmlEl = htmlDoc.GetElementById("input");
htmlEl.SetProperty("disabled", false);
htmlEl.SetAttribute("value", "渡す値");
ScorllBarコントロールを利用するではなく、ScrollViewerコントロールを利用します。
<ScrollViewer Name="dateSelectorScorll" ScrollViewer.HorizontalScrollBarVisibility="Auto" Margin="0,-5,6,0"> <Grid Name="dayGrid" Width="auto" Margin="0,0,0,0"> </Grid> </ScrollViewer>
コメント:
yVoC[UNLIMITȂ1~]
ECirŃ|C Yahoo yV LINEf[^[Ōz500~`I