Я использую эту функцию:
<?php
function is_ping_address($ip) {
exec('ping -c1 -w1 '.$ip, $outcome, $status);
preg_match('/([0-9]+)% packet loss/', $outcome[3], $arr);
return ( $arr[1] == 100 ) ? false : true;
}
Я думаю, что вам лучше всего связать свойство IsVisible каждого элемента управления в строке с одним свойством в вашей модели представления. Затем все, что вам нужно сделать, это изменить значение свойства модели представления на false
, и вся строка будет скрыта.
Причина: GetRow
возвращает значение типа int. Таким образом, вы не можете установить это свойство, например IsVisible
] Вы можете установить rowHeight как 0
, если хотите скрыть конкретную строку. var row = myGrid.RowDefinitions[index];
row.Height = 0;
Как говорили другие, вы пытаетесь изменить видимость индекса (это определенно неправильно).
Вы не можете получить строку сетки и установить ее видимость. Вместо этого вы должны установить видимость представления внутри строки.
Но вы должны заметить, что при этом вы можете увидеть пустое пространство внутри сетки, если вы указали фиксированную высоту или даже размер звезды для этой высоты строки.
Лучше установить высоту строки на Авто . При этом, когда вид внутри этой строки невидим, высота строки уменьшается до 0.