尽管聚会迟到了,但我们公司终于缓慢但肯定地转向 WPF 以满足我们的桌面编程需求。
我有几个问题希望这个社区可以帮助我... b/c 我发现即使我正在阅读世界上所有的教程,使用 WPF,有很多不同的方法来处理最基本的你以前用表格做的事情,我只需要一个 101 ......例如......
谁能启发一个沮丧的 WPF 新手,为什么这个 BASIC 代码不起作用?
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>