我一直在關注Silverlight text editor sample。它給了我很多功能,如格式化,剪貼板支持,打印等。Silverlight 4 RichTextBox - InlineUiContainers已禁用
該示例還允許通過使用InlineUiContainer來插入DataGrid。
我的問題是插入的DataGrid被禁用,而我的要求是用戶可以編輯DataGrid的內容。
如何讓InlineUiContainers插入啓用的RichTextBox中?
我一直在關注Silverlight text editor sample。它給了我很多功能,如格式化,剪貼板支持,打印等。Silverlight 4 RichTextBox - InlineUiContainers已禁用
該示例還允許通過使用InlineUiContainer來插入DataGrid。
我的問題是插入的DataGrid被禁用,而我的要求是用戶可以編輯DataGrid的內容。
如何讓InlineUiContainers插入啓用的RichTextBox中?
RichTextBox必須是ReadOnly才能使控件響應事件。我通過將RichTextBox默認爲ReadOnly來解決此問題,然後在焦點上變爲可編輯。
我的問題是RichTextBoxes在DataGrid中,每個RichTextbox中也嵌入了其他控件。這聽起來不像你的實時出價系統可能會失去焦點只讀,因爲只有一個實時出價。
您必須考慮一些策略,在某些情況下將RTB置於ReadOnly模式。
我遇到同樣的問題,並沒有在網上找到任何答案...
這是我做的,有點難看,但它的工作原理:
創建一個自定義的控制,並把數據網格內。 添加到自定義的控制下面的代碼:
public CustomControl()
{
InitializeComponent();
this.IsEnabledChanged += EnableChanged;
}
private int counter = 0;
private void EnableChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (counter == 0)
{
this.IsEnabled = (bool) e.OldValue;
counter = 1;
return;
}
counter = 0;
}
祝您好運!