我正在創建一個自定義UserControl以便在DataGrid編輯模板中使用。 它看起來像這樣:WPF Popup專注於數據網格
<UserControl
x:Class="HR.Controls.UserPicker"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:tk="http://schemas.microsoft.com/wpf/2008/toolkit"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<TextBlock x:Name="PART_TextBox" Text="Hello WOrld" />
<Popup Width="234" Height="175" IsOpen="True" StaysOpen="True"
Placement="Bottom"
PlacementTarget="{Binding ElementName=PART_TextBox}"
>
<TextBox
x:Name="searchTextBox"
Text=">Enter Name<"/>
</Popup>
</Grid>
</UserControl>
編輯: 我已經縮小的代碼位。 看來,如果我直接在CellEditingTemplate中放置一個帶有文本框的彈出窗口,文本框就不會出現問題。當我將該代碼移動到UserControl中時,我無法在編輯單元格時選擇該文本框。
用戶控件是否做了一些有趣的焦點?
問題是,當我編輯在DataGrid中,我得到了呈現在用戶控制的細胞,但我不能在文本框中searchTextBox點擊。當我點擊它時,彈出窗口關閉,單元格恢復爲默認值。
我已經嘗試複製並粘貼用戶控件中的所有代碼,並將其直接粘貼到CellEditingTemplate中,並以它應該的方式進行交互。
我只是想知道如果UserControl做了一些奇怪的事情,防止彈出窗口獲得焦點,因爲它直接放置在CellEditingTemplate中時按預期工作?
謝謝,勞爾
那麼該用戶控件有一些奇怪的與它不把一個彈出的重點是其自身的一部分。所以我最終不得不創建一個自定義控件並抓取UserControl。這是一種痛苦,但值得您獲得自由。 – HaxElit 2009-12-04 19:33:53