パーティーには遅れましたが、私たちの会社はデスクトップ プログラミングのニーズのために、ゆっくりではありますが確実に WPF に移行しています。
このコミュニティが私を助けてくれることを望んでいたいくつかの質問があります... b/c 世界中のすべてのチュートリアルを読んでいますが、WPF を使用すると、最も基本的なものにアプローチする方法が非常に多くあることがわかります。 Forms で行っていたことを、101 が必要なだけです...たとえば...
このBASICコードが機能しない理由を、欲求不満のWPF初心者に教えてもらえますか?
private void BtnImport_Click(object sender, RoutedEventArgs e)
{
//Button disabled on it's own without below routines
BtnImport.IsEnabled = false;
// So does textbox which updates on it's own without below routines
TxtTest.Text = "Started at : " + DateTime.Now.ToString() + "\n";
//Bunch of routines that each run in their own loops
}
ボタンを無効にして、前述のルーチンと一緒にテキストボックスを更新しようとすると..ルーチンは正常に実行されます..しかし、ボタンが無効になることも、テキストボックスが更新されることもありませんか?
WPF が Bindings でどのように機能するかをまだ理解していないと感じていますが、ここで基本が機能しない理由を指摘するために、ここから電球の瞬間を期待していました。ありがとう〜
どうもありがとう。ここに XAML があります。@Joe私はバインディングを使用していないことを完全に理解しています。それが私の混乱の核心だと思います。直接設定している場合、プロパティを直接設定した後に他のルーチンが実行されているときに機能しないのはなぜですか? (そして私の初心者の考えは、それがバインディングであるということでした)。いずれにせよ、ここで要求されているのは XAML コードです。
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Background="#FF8FB1B1" Name="AnalyticsWindow" Loaded="AnalyticsWindow_Loaded">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="74*" />
<ColumnDefinition Width="429*" />
</Grid.ColumnDefinitions>
<TextBox Height="23" Margin="66,62,187,0" Name="TxtTime" VerticalAlignment="Top" Grid.ColumnSpan="2"/>
<Button Content="Import" Height="23" HorizontalAlignment="Left" Margin="141,179,0,0" Name="BtnImport" VerticalAlignment="Top" Width="75" Click="BtnImport_Click" Grid.Column="1" />
<DatePicker Height="25" HorizontalAlignment="Left" Margin="64,108,0,0" Name="ObjDateFrom" VerticalAlignment="Top" Width="115" Grid.Column="1" />
<DatePicker Height="25" HorizontalAlignment="Left" Margin="218,108,0,0" Name="ObjDateTo" VerticalAlignment="Top" Width="115" Grid.Column="1" />
<Label Content="Log" Height="28" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Margin="234,28,39,0" Name="label2" VerticalAlignment="Top" Width="156" Grid.Column="1" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="218,62,0,0" Name="TxtTest" VerticalAlignment="Top" Width="182" Grid.Column="1" />
</Grid>