2
我想用自定義樣式創建MyScrollViewer
控件。 我創建了一個UserControl
爲ScrollViewer
(我們能不能創造一個CustomControl
因爲ScrollViewer
從System.Windows.Controls
是一個密封類),並在UserControl
的資源我已經添加了ScrollViewer
(自定義樣式)的風格。在Silverlight中創建ScrollViewer UserControl時出現問題
在Codebehind中,我創建了一個屬性Content
,它覆蓋了基類的Content
(即UserControl
)。
代碼隱藏:
public partial class ScrollViewer : UserControl
{
private System.Windows.Controls.ScrollViewer _scrollViewer;
public ScrollViewer()
{
InitializeComponent();
// DataContext = this;
_scrollViewer = new System.Windows.Controls.ScrollViewer();
}
public new object Content
{
get { return _scrollViewer; }
set
{
_scrollViewer.Content = value;
base.Content = _scrollViewer;
}
}
}
但這段代碼的問題是,我不能夠在運行時獲得Control
的內線ScrollViewer
。假設我在ScrollViewer
內有TextBox
,我無法獲得該控件。例如: -
<ScrollViewer x:Name="scrDetail" >
<StackPanel Margin="6" Grid.Column="1" Grid.Row="0">
<Label Name="lblLevel" Content="Level" Margin="2" />
<TextBox HorizontalAlignment="Stretch" Margin="2" Name="txtLevel" IsEnabled="False" Text="System" />
</StackPanel>
</ScrollViewer>
我不能夠在運行時設置文本,因爲我越來越txtLevel
爲null
。
您需要創建一個usercontrol而不是爲默認的scrollviewer創建樣式的原因是什麼? – 2011-05-05 11:09:15
@Xin我們已經創建了一個控制庫,我想在其中添加make conrol,以便每個人都可以使用該控件。 – sag 2011-05-05 11:27:17
你也可以分享你的風格吧?我也不認爲一個usercontrol可以風格。 – 2011-05-05 11:46:06