WPF コントロールの参照
Visualbasic 2010 を利用してWindows Formアプリケーションを開発しております。
Form上にWPF互換のためElementHostを配置し、その中にUserControlを配置しUserControl内にWPFのDataGridを配置しております。
CellTemplateを利用して1つのセル内に複数のTextBoxを配置しております。
★Main.xaml 抜粋
<DataGridTemplateColumn >
<!-- 表示時のセルのテンプレートを指定 -->
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<local:Sien_Detail />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
★Sien_Detail.xaml 抜粋
<TextBox x:Name="Label_0" Text="4/29(金)" HorizontalAlignment="Left" Margin="65,1,0,-19" TextWrapping="Wrap" Width="57" Background="{x:Null}" FontFamily="Arial" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontWeight="Bold" Foreground="Black" BorderBrush="#FFABADB3" IsReadOnly="True" IsTabStop="False" Height="18" />
<TextBox x:Name="Label_1" Text="4/30(土)" HorizontalAlignment="Left" Margin="127,1,0,-19" TextWrapping="Wrap" Width="57" Background="{x:Null}" FontFamily="Arial" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontWeight="Bold" Foreground="Black" BorderBrush="#FFABADB3" IsReadOnly="True" IsTabStop="False" RenderTransformOrigin="1.061,0.622" />
★Sien_Detail.xaml.vb エラー箇所
Me.Controls("Label_0").Text = "ああ"
そのTextBoxをプログラム側で制御したいと考えております。
Windows Formであれば[Me.Controls("TextBox1")]のようなコーディングで参照できるのですが、上記の場合、「Controlsはメンバーではありません」が表示されてしまいます。
どなたか改善策が分る方がいらっしゃいましたらご教授頂けますと幸いです。
以上です。
お礼
ありがとうございました。 対応方法として、Window上の一番外側GridをDisableにする事で、対応する事としました。 画面側: <Window x:Class="MainWindow"> <Grid x:name="dummyFrame"> ~ </Grid> </Window> ソース側 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.Cursor = Cursors.None; } private void Button_Click(object sender, RoutedEventArgs e) { dummyFrame.IsEnabled = false; Task.Run(() => { Thread.Sleep(5000); Dispatcher.Invoke(() => { dummyFrame.IsEnabled = true; }); }); } } これで画面がDisable状態に見えた時でも、カーソルが表示されないようです。