日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vs2010 学习Silverlight学习笔记(8):使用用户控件

發布時間:2024/7/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vs2010 学习Silverlight学习笔记(8):使用用户控件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概要:

  這個類似于封裝控件樣式。不過封裝的是整個或是多個控件罷了,然后用的時候就可以直接引用過來了。

創建用戶控:

  這個也很簡單,不過有幾個地方需要注意下。這個就不照抄了,咱們也自己寫一個。
  步驟:
  1.在SilverlightApplication中添加SilverlightUserControl。
  2.發現新建的是:
  
   打開看一下,這個文件跟MainPage一樣一樣的。但是你不能把它當做MainPage用,如果你想用的話,你要到App.xaml
  中修改啟動
  private void Application_Startup(object sender, StartupEventArgs e)
{
this.RootVisual = new MainPage();
}



?




3.在SilverlightControl1.xaml中添加代碼


代碼


<Grid x:Name="LayoutRoot" Background="#46461F">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="賬戶"
Width
="50" Height="20"></TextBlock>
<TextBox Grid.Row="0" Grid.Column="1" Width="200" Height="20"></TextBox>
<TextBlock Grid.Row="1" Grid.Column="0" Text="密碼"
Width
="50" Height="20"></TextBlock>
<TextBox Grid.Row="1" Grid.Column="1" Width="200" Height="20"></TextBox>
<Button Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Content="提交"
Background
="Orange" Width="200" Height="100"></Button>
</Grid>


4.在MainPage.xaml添加代碼


代碼


<UserControl x:Class="SilverlightAppDemo10.MainPage"
xmlns:myControl
="clr-namespace:SilverlightAppDemo10"
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"
mc:Ignorable
="d"
d:DesignHeight
="300" d:DesignWidth="400">

<Grid x:Name="LayoutRoot" Background="White">
<myControl:SilverlightControl1 x:Name="mycon"></myControl:SilverlightControl1>
</Grid>
</UserControl>



?



主要就是:
    注冊:xmlns:myControl="clr-namespace:SilverlightAppDemo10"      
    使用或引用:<myControl:SilverlightControl1 x:Name="mycon"></myControl:SilverlightControl1>
    這些代碼vs會出現輸入提示的。。。
  5.看看效果。我暈,還真難看。。。
    

添加用戶控件屬性:

哎,本想show一下asp.net控件開發知識的。結果沒成功,把代碼貼上了。我會繼續研究原因的,也請知道的朋友告訴我一下。
SilverlightControl.xaml代碼: 代碼<Canvas x:Name="LayoutRoot" Background="White">
<TextBlock x:Name="txtb" Canvas.Left="20" Canvas.Top="50" Width="100" Height="20" Text=""></TextBlock>
<TextBox Canvas.Left="150" Canvas.Top="50" Width="200" Height="20"></TextBox>
</Canvas>



SilverlightControl.xaml.cs代碼:

代碼public string TextMessage
{
get
{
return this.txtb.Text!=""?this.txtb.Text:"還沒有定義屬性";
}
set
{
this.txtb.Text = value;
}
}


MainPage.xaml代碼:




<Grid x:Name="LayoutRoot" Background="White">
<myControl:SilverlightControl1 x:Name="myCon" TextMessage="沒成功啊"></myControl:SilverlightControl1>
</Grid>



?



運行一下:

我想的是,假如沒有設置Text,就會顯示:還沒有定義屬性 ,設置后就會顯示設置的屬性。可是這個Silverlight機制我不太懂,
弄巧成拙了。

動態添加用戶控件:

  時間不夠了,先把TerryLee的貼上?;仡^我再改。另外我在想既然可以動態添加,是不是也可以動態減去?
這樣的話,頁面豈不是花樣百出了?!我會明天繼續。。
1.用戶控件可以動態的添加到頁面中,修改一下Page.xaml中的XAML代碼,放入一個Canvas作為用戶控件的容器。 <Grid x:Name="LayoutRoot" Background="#46461F">
??? <Canvas x:Name="ContainerCanvas">
???????
??? </Canvas>
</Grid> ?編寫添加用戶控件代碼: private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
{
??? ConfirmBox confirmbox = new ConfirmBox();

?

??? confirmbox.Message = "動態添加用戶控件成功!";

??? ContainerCanvas.Children.Add(confirmbox);
}

后記:

  現在有兩個問題:
  1.動態修改用戶控件屬性,即上面那個代碼中get{}set{}為什么不能成功?怎樣才能成功?
  2.能否動態卸載控件?
這篇是我昨晚寫的,不過關機的時候忘記保存了。。今天重做一下,傳了上來。
今天是我生日,我出去玩了。晚上回來我會繼續研究者兩個問題。
總目錄
上一篇:vs2010 學習Silverlight學習筆記(7):控件樣式與模板
下一篇:vs2010 學習Silverlight學習筆記(9):使用用戶控件(2)

轉載于:https://www.cnblogs.com/yaoge/archive/2010/05/10/1731739.html

總結

以上是生活随笔為你收集整理的vs2010 学习Silverlight学习笔记(8):使用用户控件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。