Get Grid.Column di un rettangolo
-
24-12-2019 - |
Domanda
Ho un XAML definito come SO:
<Grid>
<Rectangle Grid.Column="0" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="1" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="2" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="3" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="4" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="5" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="6" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="7" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="8" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="9" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="10" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
<Rectangle Grid.Column="11" Height="{Binding ElementName=CanvaContainer, Path=ActualHeight}" MouseEnter="Rectangle_MouseEnter"/>
</Grid>
.
Quello che non trovo è un modo per accedere al numero di colonna griglia I, ha provato a lanciare il rettangolo ma non trovo la proprietà appropriata.
Soluzione
Se si dispone dell'oggetto Rectangle
puoi ottenerlo utilizzando getvalue () metodo.Dì rect
è il nome dell'oggetto, quindi puoi ottenerlo come questo:
int column = (int)rect.GetValue(Grid.ColumnProperty);
.
Grid.Column
è proprietà allegata e non normale proprietà di dipendenza del rettangolo.Quindi devi passare Grid.ColumnProperty
lì dentro.
Altri suggerimenti
Grid.Column
è un proprietà allegata e quindi definisce il getter statico eMetodi di setter grid.getColumn e Grid.setColumn .Si prega di prestare particolare attenzione al Proprietà allegate nel codice sezione delArticolo MSDN collegato.
Il solito modo per ottenere il valore della proprietà Grid.Column
nel codice è chiamare il metodo Statico Gettter:
int column = Grid.GetColumn(rect);
.