Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите как выделить в ListBox определенные строк, вопрос 
:(
    Опции темы
pipn
Дата 11.3.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.3.2009

Репутация: нет
Всего: нет



помогите пожалуйсто 
нужно что в листбоксе строки выделялись в зависимости от даты 
есть строка с датой например 03.03.2009 и допустим текущяя дата 01.03.2009 строка не выделяется
но если сегодня 03.03.2009 строка выделяется красным?

я долго сидел на fox  и недавно буквально 2 недели назад сел за VPF 
ны фоксе я использовал бы 
так
  THIS.SetAll("DynamicBackcolor","program1(RECNO( ))","column")

program1 выгледит так
FUNCTION program1
PARAMETER qd
sa=""
SELECT nakontr
GO qd
qdate=nakontr.srok
DO CASE 
 CASE qdate<=dATE()
  sa=RGB(255,0,0)
 CASE (qdate>dATE())and(qdate<dATE()+3)
  sa=RGB(255,255,0)
 otherwise
 sa=RGB(255,255,255)
endcase 
RETURN sa

это все на фоксе но как на WPF это реализовать smile 
помогите плиз
PM MAIL   Вверх
Человек01
Дата 11.3.2009, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 20.2.2009
Где: Абакан, респ. Хак асия, Россия

Репутация: 2
Всего: 2



pipn, держи дружище, разбирайся.
В Fox долго не сидел(и мало вообще то не сидел), но вот в WPF сделал бы так:

Код

<Window x:Class="test002.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:test002"
    xml:lang="ru-RU"
    Title="Window1" Height="300" Width="500">
    <Window.Resources>
        <local:DataToBoolConverter x:Key="convertdatatobool"></local:DataToBoolConverter>
        <CollectionViewSource x:Key="datesource"/>
        <Style x:Key="styleRedChegototam">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=date, Converter={StaticResource convertdatatobool}}" Value="True">
                    <Setter Property="ListBoxItem.Background" Value="Red"></Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>
    <Grid>        
        <ListBox DataContext="{DynamicResource datesource}" ItemsSource="{Binding}" ItemContainerStyle="{StaticResource styleRedChegototam}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding date}"></TextBlock>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
</Window>


Код

namespace test002
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        ContextMenu cm;
        public Window1()
        {
            InitializeComponent();

            this.Loaded += new RoutedEventHandler(Window1_Loaded);
        }

        void Window1_Loaded(object sender, RoutedEventArgs e)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("date", typeof(DateTime));
            dt.Rows.Add(new DateTime(1980, 12, 25));
            dt.Rows.Add(new DateTime(1981, 2, 6));
            dt.Rows.Add(new DateTime(1990, 10, 13));
            dt.Rows.Add(new DateTime(2009, 3, 11));
            dt.Rows.Add(new DateTime(2009, 3, 12));
            dt.Rows.Add(new DateTime(2009, 3, 10));
            ((CollectionViewSource)Resources["datesource"]).Source = dt.DefaultView;
        }
        
    }

    public class DataToBoolConverter : IValueConverter
    {
        public object Convert(object value, Type targetType,
         object parameter, CultureInfo culture)
        {
            DateTime dt = (DateTime)value;
            if (dt.ToString("dd.MM.yyyy").Equals(DateTime.Now.ToString("dd.MM.yyyy")))
                return true;
            else
                return false;
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }  
}


Пользуемся и говорим Человеку, спасибо.  smile 


Это сообщение отредактировал(а) Человек01 - 11.3.2009, 17:49
PM MAIL ICQ   Вверх
pipn
Дата 12.3.2009, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.3.2009

Репутация: нет
Всего: нет



спасибо огромное 

еще ворос 
"clr-namespace:WpfApplication2"
и
local:DataToBoolConverter
пишит что не найдено
PM MAIL   Вверх
knox
Дата 23.3.2009, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 1.12.2007

Репутация: нет
Всего: нет



"clr-namespace:WpfApplication2"
WpfApplication2 это то как называется твой проект подведи туда курсор нажми ctrl+space и выбери со списка свой namespace, например если у тебя namespace MyNamespace выбирай со списка MyNamespace in assembly MyNamespace или руками пропиши
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.1547 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.