0
我可以在下列情況下怎麼辦?文本在PhoneTextBox消失
我有一個簡單的頁面。在後面的代碼中,我添加了PhoneTextBox控件來對數據進行一些過濾。但有時(經常),當我嘗試寫東西時,我發現裏面的文本是透明的或摺疊的或其他的東西,所以我沒有看到它。即使當我選擇這個文本時,我也沒有看到它。
// Generating of a PhoneTextBox
SearchBox = new Microsoft.Phone.Controls.PhoneTextBox();
SearchBox.DataContext = searchBoxContext;
SearchBox.Name = string.Format("SearchBox_{0}", Guid.NewGuid());
SearchBox.Visibility = Visibility.Collapsed;
// Adding Phone text box in a Grid on the Page
RowDefinition rd = new RowDefinition();
rd.Height = GridLength.Auto;
PageDynamicGrid.RowDefinitions.Insert(0, rd);
Grid.SetRow(generator.SearchBox, 0);
foreach (FrameworkElement child in PageDynamicGrid.Children)
{
Grid.SetRow(child, Grid.GetRow(child) + 1);
}
SearchBoxContext = (generator.SearchBox.DataContext as SearchButtonModel);
SearchBoxContext.SearchTextChanged += SearchBoxContext_SearchTextChanged;
generator.SearchBox.TextChanged += SearchBox_TextChanged;
generator.SearchBox.LostFocus += SearchBox_LostFocus;
generator.SearchBox.KeyUp += SearchBox_KeyUp;
generator.SearchBox.DataContext = null;
PageDynamicGrid.Children.Add(generator.SearchBox);
PageDynamicGrid.UpdateLayout();
和page.xaml
<Grid x:Name="PageDynamicGrid" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Margin="12,17,0,28">
<TextBlock Text="{Binding Title}"
Style="{StaticResource PhoneTextTitle1Style}" />
</StackPanel>
<ListBox Grid.Row="1" Margin="12,0"
ItemsSource="{Binding PageDynamicContent, Mode=OneWay}"/>
</Grid>
幾乎本頁所有內容(包括搜索框)動態創建,但其他內容是一些按鈕和鏈接,我需要對其進行過濾,如果我有搜索框。過濾器有效,但用戶不喜歡搜索框中的摺疊文本。因此,它看起來像(並沒有一個空格在標記前)
有一個可怕的很多代碼中的事情。你可以把它簡化爲更簡單的方法來重現問題嗎? –
我知道,有很多代碼。 我注意到的唯一的事情是,如果在創建過程中沒有觸摸PhoneTextBox的Visibility屬性,那麼就沒有錯誤。 –
我以爲有人遇到過這樣的問題。這是我第二次看到它。首先是ListPicker,沒有顯示一些挑選的結果。但是它發生在大約半年前。 –