コード例 #1
0
        protected override void SetValue(string value, EditID3File file)
        {
            EditTextFrame frame;

            if (!frames.TryGetValue(file, out frame))
            {
                frame = EditTextFrame.GetFrameFromId(FrameId);

                frames.Add(file, frame);

                file.V2Tag.Add(frame);
            }

            lock (settingTextFrames)
            {
                settingTextFrames.Add(frame);
            }

            frame.Text = value;

            lock (settingTextFrames)
            {
                settingTextFrames.Remove(frame);
            }
        }
コード例 #2
0
        private void Frame_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            EditTextFrame frame = sender as EditTextFrame;

            if (e.PropertyName == nameof(frame.Text) && !settingTextFrames.Contains(frame))
            {
                Update();
            }
        }
コード例 #3
0
        private void BtnAddFrame_Click(object sender, RoutedEventArgs e)
        {
            var frameIdResult = new GetTextWindow().Get("Frame ID:");

            if (frameIdResult.Item1 == MessageBoxResult.Yes)
            {
                foreach (EditID3File editFile in viewModel.SelectedFiles)
                {
                    editFile.V2Tag.Add(EditTextFrame.GetFrameFromId(frameIdResult.Item2));
                }
            }
        }
コード例 #4
0
        public void AddFrame(EditTextFrame frame, EditID3File file)
        {
            if (frames.ContainsKey(file))
            {
                return;
            }

            frames.Add(file, frame);
            frame.PropertyChanged += Frame_PropertyChanged;

            Update();
        }
コード例 #5
0
        public bool RemoveFrame(EditTextFrame frame)
        {
            EditID3File file = null;

            foreach (KeyValuePair <EditID3File, EditTextFrame> pair in frames)
            {
                if (pair.Value != frame)
                {
                    continue;
                }

                file = pair.Key;
                break;
            }

            if (file == null)
            {
                return(false);
            }

            frame.PropertyChanged -= Frame_PropertyChanged;

            return(frames.Remove(file));
        }