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.

È stato utile?

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);
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top