-1
我有網格線對他如此說:如何引用佈局的兒童在課堂上的WPF
<Grid Name="sGrid" Height="650" Width="205" Margin="0,25">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="35"/>
</Grid.ColumnDefinitions>
<TextBlock Name="minSpeed" HorizontalAlignment="Left" TextWrapping="Wrap" Text="min speed" VerticalAlignment="Bottom" Grid.Column="0" Grid.Row="0"/>
我送這個網格的副本上我的課是這樣的:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
sClass sObject = new sClass(sGrid);
}};
得到它在我的課這樣的:
public class sClass
{
public sClass(Grid Xi_Sgrid)
{
sGrid = Xi_Sgrid;
sGraphHeight = sGrid.RowDefinitions[0].ActualHeight;
sGraphWidth = sGrid.ColumnDefinitions[0].ActualWidth;;
sGrid.minSpeed // can't find in the intellisense
}
現在的前三行sClass
是確定的,但第三特羅是非法的。 什麼是正確的方式來參考從一個班的佈局兒童? 謝謝。
的可能的複製[?如何獲得其在C#中相同的父WPF沒有它的名字proprty的其他控制(http://stackoverflow.com/questions/39683496/如何獲得其他控制的wpf-having-same-parent-in-c-sharp-without-na-na) –
這裏有太多可能的答案。但短版是「你不要」。你不應該直接操縱UI元素。相反,將您的程序基於視圖模型,將適當的屬性綁定到UI元素屬性,以便將它們呈現給用戶。如果你堅持不這樣做,那麼考慮到你已經顯示的代碼,我會說你應該將'minSpeed'和'sGrid'引用一起傳遞給'sClass'構造函數。如果你做錯了,至少做錯了,而不是讓自己變得很難。 –